我正在尝试编写一些代码,以用空格替换两个html标记(具体来说是<del>
标记)之间的每个字符,但是我在PHP字符串方法中苦苦挣扎。
代码如何工作的示例:如果初始字符串为"blahblah<del>blahblah</del>blahblah"
,则理想情况下,结果为"blahblah blahblah"
,带有8个空格(<del>
标记之间段的8个字符长度) )在两个blahblah
的
我正在为一个基本的服务器编写此代码,因此我无权访问Node等其他任何库/服务。
任何帮助将不胜感激!
编辑:<del>
标记之间的文本长度可变。它并不总是8个字符长。
答案 0 :(得分:-1)
您可以使用preg_replace_callback
在<del>
和</del>
之间提取内容。然后,您可以使用该返回值计算内部的字符数,并将其替换为原始字符串。这样的事情应该做到:
$string = 'blahblah<del>blahblah</del>blahblah';
echo preg_replace_callback('~<del>(.*?)</del>~', function($match) {
$replace = str_repeat(' ', mb_strlen($match[1]));
return $replace;
}, $string);