标签: preg-replace

删除多个空格

$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 regex string whitespace preg-replace

196
推荐指数
8
解决办法
21万
查看次数

如何在PHP中将ereg表达式转换为preg?

由于自PHP 5.3.0以来不推荐使用POSIX正则表达式(ereg),因此我想知道将旧表达式转换为PCRE(Perl兼容正则表达式)(preg)的简单方法.

每个例子,我有这个正则表达式:

eregi('^hello world');
Run Code Online (Sandbox Code Playgroud)

如何将表达式转换为preg_match兼容表达式?

注意:此帖子用作与从ereg转换为preg相关的所有帖子的占位符,以及相关问题的重复选项.请不要关闭这个问题.

有关:

php pcre preg-replace preg-match ereg

135
推荐指数
4
解决办法
6万
查看次数

用preg_replace_callback替换preg_replace()e修饰符

我对正则表达式很糟糕.我试图取代这个:

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的工作原理.

实现这一目标的正确代码是什么?

php regex preg-replace preg-replace-callback

82
推荐指数
1
解决办法
10万
查看次数

替换重音字符php

我试图用正常替换替换重音字符.以下是我目前正在做的事情.

    $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我想要的输出 …

php string preg-replace non-ascii-characters

74
推荐指数
12
解决办法
14万
查看次数

删除字符串的一部分,但仅当它位于字符串的末尾时

我需要删除字符串的子字符串,但只有当它位于字符串的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 string replace preg-replace

71
推荐指数
4
解决办法
5万
查看次数

使用preg_replace删除所有非字母数字字符

如何从PHP中的字符串中删除所有非字母数字字符?

这是我正在使用的代码:

$url = preg_replace('/\s+/', '', $string);
Run Code Online (Sandbox Code Playgroud)

它只替换空格.

php regex preg-replace

64
推荐指数
5
解决办法
8万
查看次数

在PHP中将纯文本URL转换为HTML超链接

我有一个简单的评论系统,人们可以在纯文本字段中提交超链接.当我将这些记录从数据库显示回网页时,我可以使用PHP中的RegExp将这些链接转换为HTML类型的锚链接吗?

我不希望算法使用任何其他类型的链接,只需http和https.

php regex hyperlink preg-replace

57
推荐指数
6
解决办法
8万
查看次数

用HTML链接替换文本中的URL

这是一个设计:例如,我把一个链接,如

http://example.com

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

有任何想法吗

php regex url preg-replace linkify

56
推荐指数
3
解决办法
6万
查看次数

PHP preg替换只允许数字

如何修改现有的preg_replace以仅允许数字?

function __cleanData($c) 
{
    return preg_replace("/[^A-Za-z0-9]/", "",$c);
}
Run Code Online (Sandbox Code Playgroud)

php preg-replace

54
推荐指数
3
解决办法
11万
查看次数

在PHP中使用preg_replace时如何获得匹配?

我试图抓住几个单词的大写字母并将它们包裹在span标签中.我使用preg_replace进行提取和包装,但它没有输出任何东西.

preg_replace("/[A-Z]/", "<span class=\"initial\">$1</span>", $str)
Run Code Online (Sandbox Code Playgroud)

php regex preg-replace html-parsing

53
推荐指数
4
解决办法
2万
查看次数