我想对用户输入的变量进行字符串替换。我可以知道如何让它接受(')字符串。比方说吧,
$string = ' *this* is 'a' test' ';
$regexes = array('/~(.*?)~/six','/\*(.*?)\*/six');
$replaces = array('<i>$1</i>','<b>$1</b>');
$new_string = preg_replace($regexes, $replaces, $string);
echo $new_string;
我可以将其更改为粗体和斜体文本,但如果字符串包含'''',则会出错。我想怎么做到这一点?
答案 0 :(得分:1)
这可以帮助您,根据需要使用addslashes
和stripslashes
。
<?php
$string = " *this* is 'a' test' ";
$string = addslashes($string);
$regexes = array('/~(.*?)~/six','/\*(.*?)\*/six');
$replaces = array('<i>$1</i>','<b>$1</b>');
$new_string = preg_replace($regexes, $replaces, $string);
echo stripslashes($new_string);
?>
此输出:此是&#39; a&#39;测试&#39;