如何从PHP中的字符串中删除所有非字母数字字符?
这是我正在使用的代码:
$url = preg_replace('/\s+/', '', $string);
它只替换空格。
答案 0 :(得分:114)
$url = preg_replace('/[^\da-z]/i', '', $string);
答案 1 :(得分:18)
首先,我就是这样做的
$str = 'qwerty!@#$@#$^@#$Hello%#$';
$outcome = preg_replace("/[^a-zA-Z0-9]/", "", $str);
var_dump($outcome);
//string(11) "qwertyHello"
希望这有帮助!
答案 2 :(得分:14)
不确定为什么没有人建议这样做,但这似乎是最简单的正则表达式:
preg_replace("/\W|_/", "", $string)
您也可以在此处看到它:http://phpfiddle.org/lite/code/0sg-314
答案 3 :(得分:4)
preg_replace('/[\s\W]+/', '', $string)
似乎工作,实际上这个例子是在preg_replace上的PHP文档中
答案 4 :(得分:3)
$alpha = '0-9a-z'; // what to KEEP
$regex = sprintf('~[^%s]++~i', preg_quote($alpha, '~')); // case insensitive
$string = preg_replace($regex, '', $string);
答案 5 :(得分:3)
你可以使用,
import matplotlib.pyplot as plt
import numpy as np
#arguments are shape: 1=row; 100=columns
x = np.random.rand(1, 100)
y = np.cos(x)
#bars
plt.bar(x, y, label='Bars1', color='pink')
#legends
plt.legend()
#show the figure
plt.show()
您可以使用unicode字符,
$url = preg_replace('/[^\da-z]/i', '', $string);