簡體   English   中英

PHP RegEx字符串替換

[英]PHP RegEx string Replace

我最近寫了一個JavaScript RegExp來清理前端的數據,現在我需要對PHP后端執行完全相同的操作,但是有一段時間我沒有在PHP中工作過。 以下是JavaScript RegExp,有人可以幫我將其轉換為PHP嗎?

var illegalChars = /[\(\)\<\>\,\;\:\.\~\@\#\$\!\%\^\&\*\'\?\(\)\+\=\{\}\`\\\/\"\[\]]/gi;  
var siteSuggest = $(this).val().toUpperCase().split(' ').join('').replace(new RegExp(illegalChars), "");

因此,總而言之,我想全局刪除所有非法字符,刪除空格並大寫該變量,因為該變量將用於在sql中創建數據庫或表。

老實說,我認為您最好指定好字符,而不是嘗試查找所有壞字符(畢竟,您忘記了很多非ASCII字符)。 我會做類似的事情:

$regex = '#[^a-z0-9_]#i';
$val = preg_replace($regex, '', $val);
$val = strtoupper($val);

此正則表達式將包含所有字母,數字和_的允許字符。 如果您想要更多,只需將它們添加到角色類中即可。 不需要在空格上分割,因為正則表達式將匹配空格(字符類開始處的^是負數)...

您可以這樣調整JS:

var illegalChars = /[^a-z0-9_]/gi;
var siteSuggest = $(this).val().replace(new RegExp(illegalChars), '').toUpperCase();

$illegal_chars = array(' ', ';', '~', '@', ...);
strtoupper(str_replace($illegal_chars, '', $value));

暫無
暫無

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

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