問題タブ [preg-replace]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - PHP preg_replace: ヘルプ (?=:)
別の質問には、次の行があります。
その(?=:)
ビットは、コロンの検索を示します。そうする必要があります。しかし、私はその特定の構文を理解していません?=
. そこでは何が起こっているのでしょうか?
php - PHP - 複数の一致がある preg_replace
次のような文字列があるとします。
次のように変換したい: %ITEM:1a2b3xxx%ITEM:4c5d6
これが私が持っているものです:
検索は貪欲であるため、これは正しくありません。
考え?
ありがとう!
php - preg_replace 内の関数呼び出しの問題
機能しません。関数を呼び出すと、$1 の値が失われます。
正常に動作し、出力: stackoverflow.com
$1 値を preg_replace 内から関数に送信する必要があります。私は何を間違っていますか?
php - 配列で呼び出された preg_replace() には事前に ksort() が必要ですか? は?
preg_replace
私は週末に少し作業をしていて、何か変なものを見つけたときにPHPのpreg_replace
ドキュメントを読んでいました。
ドキュメントの例 #2 は、次の php コードが与えられた場合を示しています
出力は次のようになります
そして、(私の意見では) デフォルトで出力されるべきものを生成するには、ksort()
事前に呼び出す必要があります。このような:
これは本当に php のバグの回避策ではないpreg_replace()
でしょうか? なぜphpはこのように動作するのですか? ここで宣言されている配列には、私が欠けている特異性がありますか?
php - PHP でプレーン テキスト URL を HTML ハイパーリンクに変換する
プレーン テキスト フィールド内にハイパーリンクを送信できるシンプルなコメント システムがあります。これらのレコードをデータベースから Web ページに表示する場合、これらのリンクを HTML タイプのアンカー リンクに変換するには、PHP のどの RegExp を使用できますか?
アルゴリズムが他の種類のリンクでこれを行うのは望ましくありません。http と https だけです。
php - preg_replaceが機能していません!
これが私のCodeigniter関数です:
これにより、入力が正常に検証/チェックされますが、データベースで再フォーマットされません。
検証は素晴らしいです!しかし、なぜこれが標準の電話番号を返さないのですか?!
php - PHP PREG の質問
どんなに頑張っても、PREG と私はうまくいかないので、PHP の専門家の 1 人が助けてくれることを願っています..
PHP スクリプトに入る HTML ソース コードがいくつかあり、ソース コードから特定のアイテムを取り除く/削除する必要があります。
まず、これが HTML の一部として入ってくる場合 (複数のインスタンスである可能性があります):
単純に[[[SOMETEXT]]]に変換したい
接頭辞は常に次のようになることに注意してください(私は思う):
.. 接尾辞は常に
(はい、大文字のSPAN ) ですが、title=""とjQuery###="#"の部分は異なる場合があります。[[[SOMETEXT]]]は何でもかまいません。基本的には SPAN タグを削除してください。
次に、これが HTML の一部である場合 (複数のインスタンスである可能性もあります):
.. 同じこと - [[[SOMETEXT]]]部分を残したいだけです。piece は常にプレフィックスになると思います。(この場合、小文字のスパンタグ) がサフィックスになります。
これにはおそらく 2 つの PREG コマンドが必要であることは理解していますが、html テキストを関数に渡して、次のようなクリーン/ストリップ バージョンを取得できるようにしたいと考えています。
わかりやすくするために追加/更新
わかりました。良いフィードバックをいくつか得て、近づいています。ただし、わかりやすくするために、ここに例を示します。このテキストを関数 strip_placeholder_spans() に送りたい:
戻ってくると、次のようになります。
php - preg_replace または str_replace
次のようなテキストがあります。
私が望むのは、Unknown Textを保持することですが、 ( SOME KNOWN TEXT)と(SOME OTHER KNOWN TEXT)を取り除きます。
preg_replace は私が望むものを与えると思いますが、これを置き換えるには正規表現が必要です:
これとともに ..
preg_replaceは、 regex、replacement text、およびsubjectの 3 つのパラメーターを取ることがわかります。
不明なテキストの値を置換テキスト パラメータに渡す方法、または不明なテキストを削除せずに左右の部分(SOME KNOWN TEXT)と(SOME OTHER KNOW TEXT)を交換する方法はありますか? あるいは、これに対するstr_replace()ソリューションはありますか?
ありがとう
- -アップデート - -
(SOME OTHER KNOWN TEXT) の部分はテキストの他の場所に存在する可能性がありますが、 (SOME KNOWN TEXT)Unknown Text(SOME OTHER KNOWN TEXT)のパターンに従わない限り、削除したくありません。このため、最初の str_replace の提案は機能しないと考えています。
php - preg_replace で連想配列を使用する
preg_replace のドキュメントでは、インデックス付き配列を使用して複数の文字列を置き換えることができると書かれています。連想配列でこれを行いたいのですが、うまくいかないようです。
これが実際に機能しないかどうかは誰にもわかりませんか?
php - preg_match_all 問題内の preg_replace
データ ファイル内の特定のブロックを見つけて、その中の何かを置き換えようとしています。その後、すべてを(データを置き換えて)新しいファイルに入れます。現時点での私のコードは次のようになります。
今の問題は、return_whole_thing の方法がわからないことです。基本的に、file.ext と new_file.ext は、置き換えられたデータを除いてほとんど同じです。代わりに何をすべきか提案はありreturn_whole_thing
ますか?
ありがとうございました!