0

我有一个搜索输入,当脚本显示结果时,我希望我加粗并在关键字下划线。所以我有这个脚本:

$showkey = str_replace(ucfirst($_POST['station']), '<b><u>'.htmlentities(ucfirst($_POST["station"]), ENT_QUOTES).'</u></b>', $founds["fullname"][$i]);
$showkey = str_replace(lcfirst($_POST["station"]), '<b><u>'.htmlentities(lcfirst($_POST["station"]), ENT_QUOTES).'</u></b>', $founds["fullname"][$i]);

因此,例如:如果 $_POST["station"] 是 'l' 我想要每个 l 并且 L 是粗体和下划线。那现在不起作用,只有小“l”是粗体并带有下划线。当脚本是这样的:

$showkey = str_replace(lcfirst($_POST["station"]), '<b><u>'.htmlentities(lcfirst($_POST["station"]), ENT_QUOTES).'</u></b>', $founds["fullname"][$i])
$showkey = str_replace(ucfirst($_POST['station']), '<b><u>'.htmlentities(ucfirst($_POST["station"]), ENT_QUOTES).'</u></b>', $founds["fullname"][$i]);

现在只有“L”是粗体和下划线。但我希望 L 和 l 都加粗并加下划线。

我怎样才能做到这一点?

谢谢!

4

1 回答 1

0

您应该能够使用正则表达式解决此问题:

preg_replace('/('. $_POST['station'] .')/i', '<b><u>$1</u></b>', $text);

但是,如果您以这种方式使用它,请注意转义 $_POST['station'] 中的特殊字符。

于 2013-10-19T15:43:10.820 回答