今天我得到了一些很好的帮助,帮助我开始理解preg_replace_回调的已知值。但现在我想解决未知的价值观。
$string = '<p id="keepthis"> text</p><div id="foo">text</div><div id="bar">more text</div><a id="red"href="page6.php">Page 6</a><a id="green"href="page7.php">Page 7</a>';
用它作为我的字符串,我将如何使用PrggRePixeLeCopRead从div和标签中删除所有ID,但是为p标签保留ID呢?
所以从我的绳子上
<p id="keepthis"> text</p>
<div id="foo">text</div>
<div id="bar">more text</div>
<a id="red"href="page6.php">Page 6</a>
<a id="green"href="page7.php">Page 7</a>
到
<p id="keepthis"> text</p>
<div>text</div>
<div>more text</div>
<a href="page6.php">Page 6</a>
<a href="page7.php">Page 7</a>
最佳答案
不需要回拨。
$string = preg_replace('/(?<=<div|<a)( *id="[^"]+")/', ' ', $string);
Live demo
但是在使用
preg_replace_callback
时:echo preg_replace_callback(
'/(?<=<div|<a)( *id="[^"]+")/',
function ($match)
{
return " ";
},
$string
);
Demo
关于php - 如何在未知值上使用preg_replace_callback?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21637364/