我需要Title, some text after comma
,Title
需要加粗。我在想这样做的方法是在开头添加<strong>
标记,然后在逗号之前添加一个结束</strong>
标记。
我发现了一些可以做到这一点的事情:Insert string at specified position但它并不适合我,也许我做错了什么?
$newstr = substr_replace($oldstr, '</strong>', substr($oldstr, ','), 0);
对我不起作用。关于那里有什么问题的任何想法?
修改:为什么我会收到downvote?
答案 0 :(得分:4)
$str = 'Hello World, i\'m here now';
$strEx = explode(',', $str);
$title = $strEx[0];
$text = substr($str, strlen($title));
$strNew = '<strong>'.$title.'</strong>'.$text;
echo $strNew;
答案 1 :(得分:1)
问题在于你substr
。它不会将逗号作为第二个参数。相反,第二个参数应该是一个整数作为参与字符串的起点。
更简单的解决方案是:
$oldstr = "Title, this is a test";
$search = "/,/";
$replace = "</strong>,";
$newstr = preg_replace($search, $replace, $oldstr);
echo $newstr;
答案 2 :(得分:1)
如果你的情况是这样的总是“标题,逗号之后的一些文字”,那么你可以用结束</strong>
替换逗号',',并添加<strong>
在字符串开头:
$str = "Title, some text after comma";
$result = "<strong>".str_replace(",","</strong>,",$str);
//<strong>Title</strong>, some text after comma
通过这种方式,您将获得所需的一切。