我想执行三个步骤:
ffc = x
(另一个字符串)那么x
之后插入ffc
,但在ffc
中的任何其他内容之前插入。{/ li>
醇>
如何在PHP中完成此操作?
实际使用案例:
我正在使用WordPress并抓取the_content()
并将其移至变量$content
。
我希望在$ content中的文本前面显示一些字符,但WP自动添加<p>
标签(如果wpautop已打开,我想避免将其关闭),这意味着我添加的字符出现在上方而不是与$content
在同一行。
此处的目标是检查$content
是否以<p>
开头,以及是否在<p>
字符“摘要:”之后插入。
这是我到目前为止(它没有工作):
<?php
$content = get_the_content();
echo $content;
$hasP = substr($content, 0, 3);
echo $hasP;
If ($hasP == '<p>') {
echo "Yes!";
$newString = substr($string, 3);
echo $newString;
};
?>
不幸的是,当我回显$ newString时,WP似乎只是重新添加了<p>
。
答案 0 :(得分:0)
所以,这花了很长时间让我弄明白,但这是我提出的解决方案(错误,让其他人偷走):
<?php
add_filter('the_content', 'before_after');
$content = the_content();
echo $content;
?>
然后真正的魔法发生在这里:
function before_after($content) {
$content = preg_replace('/<p>/', '<span>', $content, 1);
$content = preg_replace('/<\/p>/', '</span>', $content, 1);
return $content;
}
在上文中,我实际上超出了我最初的陈述,取而代之的是开始和结束<p>
。