我$row['message']从MySQL数据库获取,我需要删除所有的空白\n \t,等等.
$row['message'] = "This is a Text \n and so on \t Text text.";
Run Code Online (Sandbox Code Playgroud)
应格式化为:
$row['message'] = 'This is a Text and so on Text text.';
Run Code Online (Sandbox Code Playgroud)
我试过了:
$ro = preg_replace('/\s\s+/', ' ',$row['message']);
echo $ro;
Run Code Online (Sandbox Code Playgroud)
但它不会删除\n或\t只是单个空格.谁能告诉我怎么做?
由于自PHP 5.3.0以来不推荐使用POSIX正则表达式(ereg),因此我想知道将旧表达式转换为PCRE(Perl兼容正则表达式)(preg)的简单方法.
每个例子,我有这个正则表达式:
eregi('^hello world');
Run Code Online (Sandbox Code Playgroud)
如何将表达式转换为preg_match兼容表达式?
注意:此帖子用作与从ereg转换为preg相关的所有帖子的占位符,以及相关问题的重复选项.请不要关闭这个问题.
有关:
我对正则表达式很糟糕.我试图取代这个:
public static function camelize($word) {
return preg_replace('/(^|_)([a-z])/e', 'strtoupper("\\2")', $word);
}
Run Code Online (Sandbox Code Playgroud)
使用带有匿名函数的preg_replace_callback.我不明白\\ 2是做什么的.或者就此而言preg_replace_callback的工作原理.
实现这一目标的正确代码是什么?
我试图用正常替换替换重音字符.以下是我目前正在做的事情.
$string = "Éric Cantona";
$strict = strtolower($string);
echo "After Lower: ".$strict;
$patterns[0] = '/[á|â|à|å|ä]/';
$patterns[1] = '/[ð|é|ê|è|ë]/';
$patterns[2] = '/[í|î|ì|ï]/';
$patterns[3] = '/[ó|ô|ò|ø|õ|ö]/';
$patterns[4] = '/[ú|û|ù|ü]/';
$patterns[5] = '/æ/';
$patterns[6] = '/ç/';
$patterns[7] = '/ß/';
$replacements[0] = 'a';
$replacements[1] = 'e';
$replacements[2] = 'i';
$replacements[3] = 'o';
$replacements[4] = 'u';
$replacements[5] = 'ae';
$replacements[6] = 'c';
$replacements[7] = 'ss';
$strict = preg_replace($patterns, $replacements, $strict);
echo "Final: ".$strict;
Run Code Online (Sandbox Code Playgroud)
这给了我:
After Lower: éric cantona
Final: ric cantona
Run Code Online (Sandbox Code Playgroud)
上面给了我ric cantona我想要的输出 …
我需要删除字符串的子字符串,但只有当它位于字符串的END时.
例如,删除以下字符串末尾的"string":
"this is a test string" -> "this is a test "
"this string is a test string" - > "this string is a test "
"this string is a test" -> "this string is a test"
Run Code Online (Sandbox Code Playgroud)
有任何想法吗 ?可能是某种preg_replace,但是如何?
如何从PHP中的字符串中删除所有非字母数字字符?
这是我正在使用的代码:
$url = preg_replace('/\s+/', '', $string);
Run Code Online (Sandbox Code Playgroud)
它只替换空格.
我有一个简单的评论系统,人们可以在纯文本字段中提交超链接.当我将这些记录从数据库显示回网页时,我可以使用PHP中的RegExp将这些链接转换为HTML类型的锚链接吗?
我不希望算法使用任何其他类型的链接,只需http和https.
这是一个设计:例如,我把一个链接,如
在textarea.如何让PHP检测到它是一个http://链接,然后将其打印为
print "<a href='http://www.example.com'>http://www.example.com</a>";
Run Code Online (Sandbox Code Playgroud)
我记得之前做过这样的事情,然而,这并不是为了复杂的链接而破坏它.
另一个好主意是如果你有一个链接,如
http://example.com/test.php?val1=bla&val2blablabla%20bla%20bla.bl
解决这个问题吧
print "<a href='http://example.com/test.php?val1=bla&val2=bla%20bla%20bla.bla'>";
print "http://example.com/test.php";
print "</a>";
Run Code Online (Sandbox Code Playgroud)
这个只是一个想法.. stackoverflow也可能也使用这个:D
有任何想法吗
如何修改现有的preg_replace以仅允许数字?
function __cleanData($c)
{
return preg_replace("/[^A-Za-z0-9]/", "",$c);
}
Run Code Online (Sandbox Code Playgroud) 我试图抓住几个单词的大写字母并将它们包裹在span标签中.我使用preg_replace进行提取和包装,但它没有输出任何东西.
preg_replace("/[A-Z]/", "<span class=\"initial\">$1</span>", $str)
Run Code Online (Sandbox Code Playgroud) php ×10
preg-replace ×10
regex ×6
string ×3
ereg ×1
html-parsing ×1
hyperlink ×1
linkify ×1
pcre ×1
preg-match ×1
replace ×1
url ×1
whitespace ×1