如何从标题中删除符号? [复制]
Posted
技术标签:
【中文标题】如何从标题中删除符号? [复制]【英文标题】:How can i remove symbol from the title? [duplicate] 【发布时间】:2014-02-28 04:54:17 【问题描述】:我想从标题中删除符号。当任何用户在我的网站上发布他们的广告时,他们会写任何带有 "&、+、-、_、$、^、=," 等符号的内容。这种类型的符号我想从标题中自动删除。我已经尝试过空间和成功。我用“-”这个代码删除空格
<?php
$title = str_replace(' ', '-', $row['title'])
?>
我想要所有这些"&, +, -, _, $, ^, =," 符号。请帮帮我。
【问题讨论】:
你可能正在寻找这个:***.com/questions/7605480/… 【参考方案1】:最好使用htmlentities PHP 函数将所有适用的字符转换为 HTML 实体:
$title = htmlentities($row['title']);
如果你真的有一个字符串 "&, +, -, _, $, ^, ="
的符号,则使用它:
$symbols = explode(",", "&, +, -, _, $, ^, =");
$title = str_replace($symbols, "", $row['title']);
【讨论】:
工作正常 ofc,但不是 OP 要求的... 是的,但我认为它的意思是准确的 我还更新了答案并添加了 OP 要求的实现【参考方案2】:<?php
$title = str_replace(array(" ", "&", "+", "-", "_", "$", "^", "="), '-', $row['title']);
?>
未经测试,但应该可以工作。
编辑/是的。
【讨论】:
【参考方案3】:你可以这样做:
function clean($string)
$string = str_replace(' ', '-', $string); // Replaces all spaces with hyphens.
return preg_replace('/[^A-Za-z0-9\-]/', '', $string); // Removes special chars.
在这里查看:Remove all special characters from a string
【讨论】:
这就是我提到的链接。【参考方案4】:Try this..
<?php
$row['title'] = preg_replace('/(\&|\+|\-|\_|\s|\$|\^|\=)/','-',$row['title']);
?>
【讨论】:
【参考方案5】:这个怎么样?
$removeme = array("=", "+", "-", "_", "$", "^", "&", " ");
$finaltitle = str_replace($removeme , "-", $title);
编辑
因此,如果您将您的标题分配给$title
,然后如前所述通过str_replace
运行它,它可能类似于以下代码:
$title = 'thi=s &is my-ti&tle_and^stuff';
$removeme = array("=", "+", "-", "_", "$", "^", "&", " ");
$finaltitle = str_replace($removeme , "-", $title);
echo $finaltitle // echos 'thi-s--is-my-ti-tle-and-stuff';
如果您只是想生成一个 slug-url,我可以推荐阅读 this link 吗?
【讨论】:
返回码是什么? 我刚刚更新了我的答案以上是关于如何从标题中删除符号? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
是否有一个函数可以从字符串中删除任何符号(%、# 等)? [复制]