簡體   English   中英

使用preg_replace刪除所有非字母數字字符

[英]Remove all non-alphanumeric characters using preg_replace

如何從PHP中的字符串中刪除所有非字母數字字符?

這是我正在使用的代碼:

$url = preg_replace('/\s+/', '', $string);

它只替換空格。

$url = preg_replace('/[^\da-z]/i', '', $string);

首先,我就是這樣做的

$str = 'qwerty!@#$@#$^@#$Hello%#$';

$outcome = preg_replace("/[^a-zA-Z0-9]/", "", $str);

var_dump($outcome);
//string(11) "qwertyHello"

希望這可以幫助!

不知道為什么沒有人建議這個,但這似乎是最簡單的正則表達式:

preg_replace("/\W|_/", "", $string)

你也可以在這里看到它: http//phpfiddle.org/lite/code/0sg-314

preg_replace('/[\s\W]+/', '', $string)

似乎工作,實際上這個例子是在preg_replace上的PHP文檔中

$alpha = '0-9a-z'; // what to KEEP
$regex = sprintf('~[^%s]++~i', preg_quote($alpha, '~')); // case insensitive

$string = preg_replace($regex, '', $string);

您可以使用,

$url = preg_replace('/[^\da-z]/i', '', $string);

您可以使用unicode字符,

$url = preg_replace("/[^[:alnum:][:space:]]/u", '', $string);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM