『壹』 php正則表達式過濾文字
www.koophp.com 到這里找找看
『貳』 PHP正則表達式過濾HTML代碼的問題
一定要用正則么?PHP的函數可以么?
<?php
$str = '<br />sdfasdfsdfa<a>sdfasdf<br>dsfasdfasdf<li>sdfa';
$str = strip_tags($str, '<br>');
echo $str;
?>
會比用正則效率高不少
『叄』 js 如何正則匹配多個,像php 的preg_match()
JavaScript中的 match() 方法可以實現
match() 方法可在字元串內檢索指定的值,或找到一個或多個正則表達式的匹配。
stringObject.match(searchvalue)
stringObject.match(regexp)
參數說明
searchvalue 必需。規定要檢索的字元串值。
regexp 必需。規定要匹配的模式的 RegExp 對象。如果該參數不是 RegExp 對象,則需要首先把它傳遞給 RegExp 構造函數,將其轉換為 RegExp 對象。
返回值
存放匹配結果的數組。該數組的內容依賴於 regexp 是否具有全局標志 g。
其他說明
match() 方法將檢索字元串 stringObject,以找到一個或多個與 regexp 匹配的文本。這個方法的行為在很大程度上有賴於 regexp 是否具有標志 g。
如果 regexp 沒有標志 g,那麼 match() 方法就只能在 stringObject 中執行一次匹配。如果沒有找到任何匹配的文本, match() 將返回 null。否則,它將返回一個數組,其中存放了與它找到的匹配文本有關的信息。該數組的第 0 個元素存放的是匹配文本,而其餘的元素存放的是與正則表達式的子表達式匹配的文本。除了這些常規的數組元素之外,返回的數組還含有兩個對象屬性。index 屬性聲明的是匹配文本的起始字元在 stringObject 中的位置,input 屬性聲明的是對 stringObject 的引用。
如果 regexp 具有標志 g,則 match() 方法將執行全局檢索,找到 stringObject 中的所有匹配子字元串。若沒有找到任何匹配的子串,則返回 null。如果找到了一個或多個匹配子串,則返回一個數組。不過全局匹配返回的數組的內容與前者大不相同,它的數組元素中存放的是 stringObject 中所有的匹配子串,而且也沒有 index 屬性或 input 屬性。
注意:在全局檢索模式下,match() 即不提供與子表達式匹配的文本的信息,也不聲明每個匹配子串的位置。如果您需要這些全局檢索的信息,可以使用 RegExp.exec()。
例如:
我們將使用全局匹配的正則表達式來檢索字元串中的所有數字:
<script type="text/javascript">
var str="1 plus 2 equal 3"
document.write(str.match(/\d+/g))
</script>
輸出:
1,2,3
『肆』 JS正則表達式轉換 php 正則表達式
preg_replace()函數即可
表達式都差不多
例:
$slStr = preg_replace('/<([a-z]{2})>/i', '<span class="$1">', $slStr);
『伍』 php正則表達式過濾
貌似這個能夠符合你的條件
/[a-zA-Z]{1,}\-(2011-12-20-15)\-[0-9]{3}\.txt/
『陸』 PHP正則表達式急求:如何提取字元串中的SCRIPT腳本中的代碼內容
核心正則是:/<script([\w\W]*)<\/script>/iU
下面是測試代碼:
<?php
$str = <<<EOD
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>無標題文檔</title>
</head>
<script>
function xyz(){
alert(2);
}
</script>
<script type="text/javascript">
function mnl(){
alert(2);
}
</script>
<script language="javascript">function abc(id){
alert(id);
}
</script>
<body>
</body>
</html>
EOD;
//echo $str;
$result = array();
if(preg_match_all( '/<script([\w\W]*)<\/script>/iU', $str, $result) )
{
//print_r($result);
for( $i = 0; $i<count($result[1]); $i++)
{
var_mp( $result[1][$i] );
echo '<hr>';
}
}
?>
『柒』 php正則表達式和js有什麼不同
js驗證是主要驗證規則之類的,比如驗證郵箱是否為空,郵箱的格式是否符合正則表達式等,用php驗證是主要跟資料庫交互的,驗證類似是否用戶名重名這類的驗證。
『捌』 JS和PHP的正則表達式的區別
個別通配符肯定有區別,因為我發現我在js下調試的正則,在PHP下竟然不能用。煩惱中。
『玖』 php 正則表達式 過濾字元串的問題
(http://[^?]*).*c=(.*) 用$1?c=$2替換
『拾』 php正則表達式過濾某些HTML標簽代碼
如果只要
<b>
標簽,不用「過濾」的方法,用「提取」的方法更簡單。
$str
=
'<img
src="xxx"><b>aaa</b><br>\n<b>b\nbb</b><span
style="color:#FF0000;">yyy</span>';
$pattern
=
'/<b>(((?!<\/b>).)*)<\/b>/mi';
preg_match_all($pattern,
$str,
$matches,
PREG_SET_ORDER);
print_r($matches);
輸出
Array
(
[0]
=>
Array
(
[0]
=>
<b>aaa</b>
[1]
=>
aaa
[2]
=>
a
)
[1]
=>
Array
(
[0]
=>
<b>b\nbb</b>
[1]
=>
b\nbb
[2]
=>
b
)
)
$matches[0][0],$matches[1][0]
是你想要的結果?