Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php preg_替换_Php - Fatal编程技术网

php preg_替换

php preg_替换,php,Php,我只需要允许字母、数字和下划线(389;) 任何其他内容都可以替换为空格符号(389;) 我的正则表达式模式怎么了 <?php $val = 'dasd Wsd 23 /*~`'; $k = preg_replace('/[a-Z0-9_]+$/', '_', $val); ?> 您需要添加^以反转字符类内匹配的字符 $val = 'dasd Wsd 23 /*~`'; $k = preg_replace('/[^a-zA-Z0-9_]/', '_', $val); 另一种方法是

我只需要允许字母、数字和下划线(389;)

任何其他内容都可以替换为空格符号(389;)

我的正则表达式模式怎么了

<?php
$val = 'dasd Wsd 23 /*~`';
$k = preg_replace('/[a-Z0-9_]+$/', '_', $val);
?>

您需要添加
^
以反转字符类内匹配的字符

$val = 'dasd Wsd 23 /*~`';
$k = preg_replace('/[^a-zA-Z0-9_]/', '_', $val);
另一种方法是让它匹配非“单词”字符,即任何不是字母、数字或下划线的字符

$val = 'dasd Wsd 23 /*~`';
$k = preg_replace('/\W/', '_', $val);

您需要添加
^
,它反转字符类中匹配的字符

$val = 'dasd Wsd 23 /*~`';
$k = preg_replace('/[^a-zA-Z0-9_]/', '_', $val);
另一种方法是让它匹配非“单词”字符,即任何不是字母、数字或下划线的字符

$val = 'dasd Wsd 23 /*~`';
$k = preg_replace('/\W/', '_', $val);

[a-Z]
不匹配任何内容。。您可以使用
\W
匹配非单词字符:

preg\u replace('/\W+/'、''.'和$val)


此外,
$
符号仅在字符串末尾匹配。

[a-Z]
不匹配任何内容。。您可以使用
\W
匹配非单词字符:

preg\u replace('/\W+/'、''.'和$val)

此外,
$
符号仅在字符串末尾匹配