$ str ='一些文字标签内容 更多文字';
我的问题是:如何检索tag <em>contents </em>介于两者之间的内容<MY_TAG> .. </MY_TAG>?
和
如何删除<MY_TAG>及其内容$str?
我正在使用PHP.
谢谢.
Gum*_*mbo 11
如果MY_TAG无法嵌套,请尝试以获取匹配项:
preg_match_all('/<MY_TAG>(.*?)<\/MY_TAG>/s', $str, $matches)
Run Code Online (Sandbox Code Playgroud)
要删除它们,请preg_replace改用.
为了删除我最终只使用这个:
$str = preg_replace('~<MY_TAG(.*?)</MY_TAG>~Usi', "", $str);
Run Code Online (Sandbox Code Playgroud)
使用〜而不是/为分隔符解决了由于结束标记中的反斜杠而引发的错误,即使转义也似乎是一个问题.从开始标记中删除>允许属性或其他字符,并仍然获取标记及其所有内容.
这仅适用于嵌套不是问题的地方.
所述Usi改性剂的意思是U = Ungreedy,S =包括换行符字符,I =不区分大小写.
| 归档时间: |
|
| 查看次数: |
15802 次 |
| 最近记录: |