PHP代码
$str = preg_replace("/(
其中用了三个子模式(每个圆括号中内容为一个子模式),第一个是链接开始标签,第二个是链接文本,第三个是
然后第二个参数中\1、\2、\3就表示这三个部分,要替换成什么样子还不简单?
获取页面中的所有链接地址的PHP函数
下面这个用PHP写的函数,可以获取任意的字符串$string中的所有链接地址($string可以是从一个HTML页面文件直接读取出来的字符串),结果保存在一个数组中返回.该函数自动把电子邮件地址排除在外,而且返回的数组中不会有重复元素.
复制代码 代码如下:
function GetAllLink($string)
{
$string = str_replace("\r","",$string);
$string = str_replace("\n","",$string);
$regex[url] = "((http|https|ftp|telnet|news):\/\/)?([a-z0-9_\-\/\.]+\.[][a-z0-9:;@=_~%\?\/\.\,\+\-]+)";
$regex[email] = "([a-z0-9_\-]+)@([a-z0-9_\-]+\.[a-z0-9\-\._\-]+)";
//去掉标签之间的文字
$string = eregi_replace(">[^]+
//去掉JAVASCRIPT代码
$string = eregi_replace("","", $string);
//去掉非的HTML标签
$string = eregi_replace("]*>","", $string);
//去掉EMAIL链接
$string = eregi_replace("]*>","", $string);
//替换需要的网页链接
$string = eregi_replace("]*>","\\3\t", $string);
$output[0] = strtok($string, "\t");
while(($temp = strtok("\t")))
{
if($temp && !in_array($temp, $output))
$output[++$i] = $temp;
}
return $output;
}
以下是以PHP的语法所写的示例
验证字符串是否只含数字与英文,字符串长度并在4~16个字符之间
复制代码 代码如下:
$str = 'a1234';
if (preg_match("^[a-zA-Z0-9]{4,16}$", $str)) {
echo "验证成功";} else {
echo "验证失?";}?>
简易的台湾身分证字号验证
复制代码 代码如下:
$str = 'a1234';
if (preg_match("^(?:\d{15}|\d{18})$", $str)) {
echo "验证成功";
} else {
echo "验证失?";}
?>
下面的代码实现文字中的代码块,功能就如你在脚本之家看到的代码一样。
复制代码 代码如下:
function codedisp($code) {
global $discuzcodes;
$discuzcodes['pcodecount']++;
$code = htmlspecialchars(str_replace('\\"', '"', preg_replace("/^[\n\r]*(.+?)[\n\r]*$/is", "\\1", $code)));
$discuzcodes['codehtml'][$discuzcodes['pcodecount']] = "
";
$discuzcodes['codecount']++;
return "[tDISCUZ_CODE_$discuzcodes[pcodecount]t]";
}
$message = preg_replace("/s*[code](.+ ?)[/code]s*/ies", "codedisp('\1')", $message);
$message = preg_replace("/s*[html](.+?)[/html]s* /ies", "htmldisp('\1')", $message);
中国語の文字を一致させるための正規表現: [u4e00-u9fa5]
コメント: 中国語の一致は非常に頭の痛い問題ですが、この表現を使用すると簡単に処理できます
全角文字 (中国語を含む) の一致: [^x00- xff]
コメント: 文字列の長さの計算に使用できます (全角文字の長さは 2 としてカウントされ、ASCII 文字の長さは 1 としてカウントされます)
空白行と一致するための正規表現: ns*r
コメント: 空行の削除に使用可能
HTML タグに一致する正規表現: ]*>.*?1>|<.>コメント: インターネット上で出回っている バージョンが悪すぎます。上記のバージョンは一部しか一致せず、複雑なネストされたタグにはまだ無力です。
先頭と末尾の空白文字を一致させるための正規表現: ^s*|s*$
コメント: 行の先頭と末尾の空白を削除するために使用できます。文字 (スペース、タブ、フォーム フィードなどを含む)、非常に便利な表現
メール アドレスを一致させるための正規表現: w+([-+. ]w+)*@w+([-.]w+)* .w+([-.]w+)*
コメント: フォームの検証に非常に役立ちます
URL に一致する正規表現: [a-zA-z]+:// [^s]*
コメント: インターネット上で流通しているバージョン 機能は非常に限られており、基本的には上記のバージョンでニーズを満たすことができます
アカウントが合法であるかどうかを照合します (文字で始まり、5 ~ 16 バイトが許可され、英数字のアンダースコアは許可されます)許可されています): ^[a-zA-Z][a-zA-Z0-9_]{ 4,15}$
コメント: フォームの検証に非常に役立ちます
一致する国内電話番号: d{3}-d{8}| d{4}-d{7}
コメント: 0511-4405222 や 021-87888822 などの一致形式
Tencent QQ 番号と一致: [1-9][0-9]{4,}
コメント: Tencent QQ 番号で始まる10000 から
中国の郵便番号と一致します: [1-9]d{5}(?!d)
コメント: 中国の郵便番号は 6 桁です
ID カードと一致します: d{15}|d{18}
コメント: 中国の IDカードは 15 桁または 18 桁です
一致する IP アドレス: d+.d+.d+.d+
コメント: IP アドレスを抽出する場合に役立ちます: 特定の数値と一致します:
^[1-9]d*$ // 正の整数と一致します
^-[ 1-9]d*$ // 負の整数と一致
^-?[1- 9]d*$ // 整数と一致
^[1-9]d*|0$ // 負でない整数 (正の整数) と一致+ 0)
^-[1-9]d*|0$ // 負でない整数と一致する 正の整数 (負の整数 + 0)
^[1-9]d*.d*|0.d*[1 -9]d*$ //正の浮動小数点数と一致
^-([1-9]d* .d*|0.d*[1-9]d*)$ //負の浮動小数点数と一致
^-?([1-9]d*.d*|0.d*[1-9]d* |0?.0+|0)$ // 浮動小数点数と一致します
^[1-9] d*.d*|0.d*[1-9]d*|0?.0+|0$ // 負でない浮動小数点数 (正の浮動小数点数 + 0) に一致します
^(-([1 -9]d*.d*|0.d*[1-9]d*))|0?.0+|0$ //非正の浮動小数点数(負の浮動小数点数 + 0)と一致します
コメント: 大量のデータを処理する場合に便利です。特定のアプリケーションでの修正に注意してください
特定の文字列に一致:
^[A-Za-z]+$ //26 で一致 大文字の 26 文字の英字で構成される文字列
^[A-Z] ]+$ // 26 個の大文字の英字で構成される文字列と一致します
^[a-z]+$ // 26 個の小文字の英文字で構成される文字列と一致します
^[A-Za-z0-9]+$ // 文字列と一致します数字と 26 個の英字で構成される
^w+$ // 数字、26 個の英字、またはアンダースコアで構成される文字列と一致します
以下は一部の特殊文字です:
正規表現の特殊文字: (学習参考書-文字
意味: 文字の場合、通常は文字通りの意味を意味し、次の文字が特殊文字であることを示し、アクションの説明はありません。
例: /b/ は文字「b」に一致します。b の前にバックスラッシュを追加すると、つまり /b/ となり、その文字は特殊文字になり、
が単語の分割線に一致することを示します。
または:
いくつかの文字については、通常、それらが特別であると述べられ、次の文字が特別ではなく、文字通りに解釈されるべきであることを示します。
例: * は特殊文字で、任意の数の文字 (0 文字を含む) に一致します。たとえば、/a*/ は 0 個以上の a に一致することを意味します。
リテラル * に一致するには、a の前にバックスラッシュを追加します。たとえば、/a*/ は 'a*' に一致します。
Character^
意味: 一致する文字が先頭になければならないことを示します。
例: /^A/ は、「an A」の「A」とは一致しませんが、「An A.」の最初の「A」と一致します。
文字 $
意味: ^ と同様、最後の文字と一致します。
例: /t$/ は、「eater」の「t」とは一致しませんが、「eat」の「t」とは一致します。
文字 *
意味: * より前の文字と 0 回または n 回一致します。
例: /bo*/ は、「A ghost booooed」の「boooo」または「A Bird warbled」の「b」に一致しますが、「A goat g
runted」の文字には一致しません。
文字 +
意味: + 記号の前の文字と 1 回または n 回一致します。 {1,} と同等。
例: /a+/ は、「candy」の「a」と「caaaaaaandy」のすべての「a」に一致します。
文字?
意味: 0 回または 1 回前の文字と一致します。
例: /e?le?/ は、「angel」の「el」と「angle.」の「le」に一致します。
文字。
意味: (小数点) は改行文字を除くすべての単一文字に一致します。
例: /.n/ は、「いいえ、リンゴが木の上にあります」の 'an' と 'on' には一致しますが、'nay' には一致しません。
文字 (x)
意味: 'x' と一致し、一致する値を記録します。
例: /(foo)/ は、「foo bar」の「foo」と一致し、記録します。一致する部分文字列は、結果配列の要素 [1]、...、[n] によって、または RegExp オブジェクトのプロパティ $1、...、$9 によって返されます。
文字 x|y
意味: 'x' または 'y' と一致します。
例: /green|red/ は、「green apple」の「green」と「red apple」の「red」に一致します。
文字 {n}
意味: ここでの n は正の整数です。最初の n 文字と一致します。
例: /a{2}/ は、「candy」の「a」とは一致しませんが、「caandy」のすべての「a」と、「caaandy.」の最初の 2 つの
'a には一致します。
文字 {n,}
意味: ここでの n は正の整数です。少なくとも n 個前の文字と一致します。
例: /a{2,} は、「candy」の「a」には一致しませんが、「caandy」のすべての「a」と「caaaaaaandy」のすべての「a」に一致します。
文字 {n,m}
意味: ここでの n と m は両方とも正の整数です。少なくとも n 個、最大で m 個前の文字と一致します。
例: /a{1,3}/ は、「cndy」のどの文字とも一致しませんが、「candy,」の「a」、「caandy,」の最初の 2 つの「a」と「caaaaaaandy」には一致します。 「caaaaaaandy」の最初の 3 つの「a」に注意してください。「caaaaaaandy」に多くの「a」がある場合でも、一致するのは最初の 3 つの「a」、つまり「aaa」のみです。
Character [xyz]
意味: リスト内の任意の文字と一致する文字のリスト。ハイフン - を使用して文字の範囲を指定できます。
例: [abcd] は [a-c] と同じです。これらは、「brisket」の「b」と「ache」の「c」に一致します。
Character[^xyz]
意味: 1 文字の補数。つまり、リストされた文字を除くすべてに一致します。 ハイフンを使用して、
文字の範囲を示すことができます。
例: [^abc] と [^a-c] は同等で、最初に「brisket」の「r」と「chop.」の「h」に一致します。
文字
意味: スペースに一致します (b と混同しないでください)
文字 b
意味: スペースなどの単語の分割線に一致します (b と混同しないでください)
例: /bnw/ /wyb/ は「noonday」の「no」に一致し、/wyb/ は「おそらく昨日」の「ly」に一致します。
文字 B
意味: 単語の非改行行と一致します
例: /wBn/ は「正午」の「on」と一致し、/yBw/ は「おそらく昨日」の「ye」と一致します。
Character cX
意味: ここの X は制御文字です。制御文字の文字列と一致します。
例: /cM/ は文字列内の control-M と一致します。
文字 d
意味: [0-9] に相当する数値と一致します。
例: /d/ または /[0-9]/ は、「B2 はスイート番号です」の「2」と一致します。
文字 D
意味: [^0-9] に相当する、数値以外の任意の文字に一致します。
例: /D/ または /[^0-9]/ は、「B2 はスイート番号です。」の「B」と一致します。
文字 f
意味: フォーム文字と一致する
文字 n
意味: 改行文字と一致する
文字 r
意味: 復帰文字と一致する
文字 s
意味: スペースを含む単一の空白文字と一致する、タブ、フォームフィード、改行文字、[fnrtv]に相当します。
例: /sw*/ は、「foo bar.」の「bar」と一致します。
文字 S
意味: [^ fnrtv] に相当する、空白文字を除く 1 つの文字と一致します。
例: /S/w* は、「foo bar.」の「foo」に一致します。
Character t
意味: タブ文字と一致します
Character v
意味: 先頭のタブ文字と一致します
Character w
意味: [A-Za-z0 -9_] に相当する、すべての数字、文字、アンダースコアと一致します。
例: /w/ は、「apple,」の「a」、「$5.28」の「5」、「3D.」の「3」に一致します。
文字 W
意味: [^A-Za-z0-9_] に相当する、数字、文字、アンダースコアを除く他の文字と一致します。
例: /W/ または /[^$A-Za-z0-9_]/ は、「50%.」の '%' に一致します。
文字 n
意味: ここでの n は正の整数です。正規表現の最後の部分文字列に一致する n の値 (左括弧を数える)。
例: /apple(,)sorange1/ は、「apple、orange、cherry、peach.」の「apple、orange」と一致します。以下に、より完全な例があります
。
注: 左括弧内の数値が n で指定された数値より小さい場合、n は次の行の 8 進エスケープを説明として受け取ります。
文字 oooctal と xhex
意味: ここでの oooctal は 8 進数のエスケープ値、xhex は 16 進数のエスケープ値で、ASCII コードを正規表現に埋め込むことができます。

PHPは、電子商取引、コンテンツ管理システム、API開発で広く使用されています。 1)eコマース:ショッピングカート機能と支払い処理に使用。 2)コンテンツ管理システム:動的コンテンツの生成とユーザー管理に使用されます。 3)API開発:RESTFUL API開発とAPIセキュリティに使用されます。パフォーマンスの最適化とベストプラクティスを通じて、PHPアプリケーションの効率と保守性が向上します。

PHPにより、インタラクティブなWebコンテンツを簡単に作成できます。 1)HTMLを埋め込んでコンテンツを動的に生成し、ユーザー入力またはデータベースデータに基づいてリアルタイムで表示します。 2)プロセスフォームの提出と動的出力を生成して、XSSを防ぐためにHTMLSPECIALCHARSを使用していることを確認します。 3)MySQLを使用してユーザー登録システムを作成し、Password_HashおよびPreprocessingステートメントを使用してセキュリティを強化します。これらの手法を習得すると、Web開発の効率が向上します。

PHPとPythonにはそれぞれ独自の利点があり、プロジェクトの要件に従って選択します。 1.PHPは、特にWebサイトの迅速な開発とメンテナンスに適しています。 2。Pythonは、データサイエンス、機械学習、人工知能に適しており、簡潔な構文を備えており、初心者に適しています。

PHPは依然として動的であり、現代のプログラミングの分野で重要な位置を占めています。 1)PHPのシンプルさと強力なコミュニティサポートにより、Web開発で広く使用されています。 2)その柔軟性と安定性により、Webフォーム、データベース操作、ファイル処理の処理において顕著になります。 3)PHPは、初心者や経験豊富な開発者に適した、常に進化し、最適化しています。

PHPは、現代のWeb開発、特にコンテンツ管理とeコマースプラットフォームで依然として重要です。 1)PHPには、LaravelやSymfonyなどの豊富なエコシステムと強力なフレームワークサポートがあります。 2)パフォーマンスの最適化は、Opcacheとnginxを通じて達成できます。 3)PHP8.0は、パフォーマンスを改善するためにJITコンパイラを導入します。 4)クラウドネイティブアプリケーションは、DockerおよびKubernetesを介して展開され、柔軟性とスケーラビリティを向上させます。

PHPは、特に迅速な開発や動的なコンテンツの処理に適していますが、データサイエンスとエンタープライズレベルのアプリケーションには良くありません。 Pythonと比較して、PHPはWeb開発においてより多くの利点がありますが、データサイエンスの分野ではPythonほど良くありません。 Javaと比較して、PHPはエンタープライズレベルのアプリケーションでより悪化しますが、Web開発により柔軟性があります。 JavaScriptと比較して、PHPはバックエンド開発により簡潔ですが、フロントエンド開発のJavaScriptほど良くありません。

PHPとPythonにはそれぞれ独自の利点があり、さまざまなシナリオに適しています。 1.PHPはWeb開発に適しており、組み込みのWebサーバーとRich Functionライブラリを提供します。 2。Pythonは、簡潔な構文と強力な標準ライブラリを備えたデータサイエンスと機械学習に適しています。選択するときは、プロジェクトの要件に基づいて決定する必要があります。

PHPは、サーバー側で広く使用されているスクリプト言語で、特にWeb開発に適しています。 1.PHPは、HTMLを埋め込み、HTTP要求と応答を処理し、さまざまなデータベースをサポートできます。 2.PHPは、ダイナミックWebコンテンツ、プロセスフォームデータ、アクセスデータベースなどを生成するために使用され、強力なコミュニティサポートとオープンソースリソースを備えています。 3。PHPは解釈された言語であり、実行プロセスには語彙分析、文法分析、編集、実行が含まれます。 4.PHPは、ユーザー登録システムなどの高度なアプリケーションについてMySQLと組み合わせることができます。 5。PHPをデバッグするときは、error_reporting()やvar_dump()などの関数を使用できます。 6. PHPコードを最適化して、キャッシュメカニズムを使用し、データベースクエリを最適化し、組み込み関数を使用します。 7


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

DVWA
Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

EditPlus 中国語クラック版
サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

ドリームウィーバー CS6
ビジュアル Web 開発ツール

MantisBT
Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

Safe Exam Browser
Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。
