首先删除字符串中的某个字符

时间:2015-07-31 11:04:56

标签: php string

例如,html这些代码之间有< >。我想让html保持活力。首先,我做了一次更换。

str_replace(array("<",">"),"",$string);

这当然从html中删除了所有<>。有没有办法获得第一个<字符?并取而代之?这将使其更友好的使用。或者substr($str, 0, 1)是唯一的选择吗?

示例

$str = " here can be letters too <some html code <h1> a header </h1> >";

输出

some html code <h1> a header </h1>

space标记后面并不总是<

2 个答案:

答案 0 :(得分:2)

要删除字符串中某个特定字符的第一个字符(如您的问题所示),请使用带有limit参数的preg_replace。这将仅删除“&lt;”:

的第一次出现
$newstring = preg_replace("/</", "", $oldstring, 1);

要删除所有内容直到给定角色(如编辑所示),请使用:

$newstring = preg_replace("/[^<]*<(.*)/", "$1", $oldstring);

这将删除“&lt;”之前的所有内容。

learn about Regular Expressions!

答案 1 :(得分:-1)

您可以将htmlentities转换为如下所示的html标签

<?php
$str = "A 'quote' is <b>bold</b>";

// Outputs: A 'quote' is &lt;b&gt;bold&lt;/b&gt;
echo htmlentities($str);

// Outputs: A &#039;quote&#039; is &lt;b&gt;bold&lt;/b&gt;
echo htmlentities($str, ENT_QUOTES);
?>