Php 如何在preg_replace中获得匹配的子字符串?
我用Php 如何在preg_replace中获得匹配的子字符串?,php,preg-replace,preg-replace-callback,Php,Preg Replace,Preg Replace Callback,我用preg\u replaceas删除字符串中第一个出现的html标记 $html = preg_replace('#<p>(.*?)</p>#i', '', $html, 1); $html=preg_replace(“#(.*)”#i“,”$html,1); 如何将删除的子字符串保存为新字符串: $deleted = '<p>...</p>'; $deleted='..'; 要获取可使用的子字符串: 输出: left substring
preg\u replace
as删除字符串中第一个出现的html标记
$html = preg_replace('#<p>(.*?)</p>#i', '', $html, 1);
$html=preg_replace(“#(.*)”#i“,”$html,1);
如何将删除的子字符串保存为新字符串:
$deleted = '<p>...</p>';
$deleted='..';
要获取可使用的子字符串:
输出:
left substring right
尝试使用:
$result = preg_match('#<p>(.*?)</p>#i', $html);
$result=preg_match(“#(.*)”#i“,$html);
使用哪个函数将匹配传递给用户定义的函数
$str = preg_replace_callback($re, function ($m) use (&$p) { $p = $m[0]; }, $str, 1);
匹配数组的任何变量名,其中索引$m
是完整模式匹配0
用于存储匹配项的任何变量名(通过引用传递)(&$p)
DOMDocument::removeChild@All卡西米尔的评论是最佳实践。使用html解析器来处理html字符串是最值得信赖的。为了获得最佳效果,你应该花时间研究和开发一种利用他的建议的方法。你在回答什么问题
preg_match
返回一个布尔值,你在后面做什么?我发布了这个精确的答案,但得到了几张反对票。这个网站有时会让人泄气!是的,当然,有时候人们很奇怪:/
$result = preg_match('#<p>(.*?)</p>#i', $html);
$str = preg_replace_callback($re, function ($m) use (&$p) { $p = $m[0]; }, $str, 1);