我正在尝试一些非常简单的事情,但我很困惑......
我在php(来自数据库)中获取一个字符串,当使用chrome检查元素时(在数据库中,字符串是这样的):
$文本=
<p><strong>Title</strong></p>
<p>text1</p>
<p>text2</p>
<p>text3</p>
<p>text4</p>
<p><strong>Title2</strong></p>
.....
我想将所有<p>
更改为<p class ="newclass">
,并以正确的方式在浏览器中显示文字。
我尝试了不同的方式:
$newtext = preg_replace('/\b<p>\b/u', '<p class = "newclass">', highlight_string($text, true));
echo $newtext;
但这不起作用。我尝试了更多的例子,但所有主题都没有用。
所以,基本上我从数据库中获取一些文本,我需要将所有<p>
更改为特定的新类,并以正确的方式再次回显。
非常感谢
答案 0 :(得分:0)
您可以使用substr_replace
来完成此任务。这很简单。
$text = '<p>';
$class = ' class="class_name">';
echo substr_replace($text, $class, -1);
此代码将从中获取原始字符串$text
,减去-1
,并将第二个字符串$class
添加到字符串的末尾(在这种情况下,它将在>
之前。
第一个参数是原始字符串,即您从数据库中提取的字符串<p>
。
第二个参数是你想要的字符串的添加,你可以改变它以反映你需要的任何东西。
第三个参数是添加文本的位置。您注意到该数字为负数,这意味着该脚本将查找字符串的末尾以添加额外内容,如果您将其更改为正数,则会从头开始。
开始
如果start为非负数,则替换将从start'th offset开始变为字符串。
如果start为负数,则替换将从字符串末尾的起始字符开始。
mixed substr_replace ( mixed $string , mixed $replacement , mixed $start [, mixed $length ] )