我有这个函数从String中删除一个特定的单词,这个函数使用单词列表。
所以我有一个查询,我想删除所有类型的字符串,如(数字,数字)
这是我的代码:
$wordlist = array("LIMIT", "0, 5");
foreach ($wordlist as &$word) {
$word = '/\b' . preg_quote($word, '/') . '\b/';
}
$sql = preg_replace($wordlist, '', $sql);
var_dump($sql);
正如你所看到的,如果函数得到LIMIT或0,5它将被删除,我如何删除任何类型的单词,如“数字,数字”,所以查询将是LIMIT 10,40它也将被删除。
知道字符串是否格式为“is_number,is_number”。
感谢。
答案 0 :(得分:2)
如http://snipplr.com/view/65038/所述,一个简单的方法是:
function stripCp($string )
{
$wordlist = array("CP", "case", "postale","Case","Postale","cp");
foreach($wordlist as $word)
{
$string = str_replace($word, "", $string);
}
return $string;
}
答案 1 :(得分:0)
使用preg_replace()删除标记为字符串
的正则表达式$pattern = '/\d+,\s*\d+/';
$replacement = '';
//wordlist version
$wordlist = array("LIMIT", "0, 5");
foreach($wordlist as &$string){
$string=preg_replace($pattern, $replacement, $string);
}
//query version
$query="SELECT * FROM table LIMIT 0, 5";
$result=preg_replace($pattern, $replacement, $query);