問題タブ [preg-replace-callback]

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.

0 投票する
5 に答える
5843 参照

php - 最初の HTML を置き換える方法PHP でのタグ付け

PHPにテキスト文字列があります:

ご覧のとおり、最初の強力なタグは

最初の強力なタグを削除し、その中の単語を ucwords (最初の文字を大文字) にします。このような結果

爆発機能を試してみましたが、私が望むものとは思えません。これが私のコードです

私のコードのみの結果

0 投票する
0 に答える
39 参照

php - preg_replace_callback は 2 つの一致を見つけて 1 にする必要があります

次のコードがテキストボックスに表示されており、それをテーブルに変換しています:

私はこの関数でコールバックを置き換えています:

私が持っているロジックでは:

$x は、1 のはずなのに 2 を返し続けます....私のコールバックの何が問題なのですか?

var_dump($matches) が返されます:

その2番目の文字列はどのようにそこに入っていますか?

0 投票する
1 に答える
853 参照

php - preg_replace_callback、コールバックの戻り値は一致した文字列を置き換えません

次のスニペットでは

barがfooに置き換わらないのはなぜですか?

0 投票する
1 に答える
229 参照

php - URL検出とBBスタイルタグ(正規表現、先読みの問題)

だから私は小さなCMSを構築していて、コンテンツエディタでHTMLを許可しないようにしたいと思います。そのため、カスタマイズを改善するために、テキスト内の生のURLを検出し、BBのようなタグをサポートしたいと考えています。

残念ながら、私は正規表現にかなり慣れていないので、これを機能させることができないようです。文字列に対して2つの正規表現を実行しています。1つ目は生のURLを検出し、2つ目はBBのようなURLを検出します。後者は完全に正常に機能しているようですが、前者は干渉し、タグでラップされたURLも変換します。

ここで見つけたコードから始めて、いくつか追加しました。

タグなしのURLのコードは次のとおりです。

単語の文字ではないwww.ので、前のネガティブな後ろ姿があり、それがないと次のようなものになります/

後も一致しhttp://ます。

上記の正規表現は次の一致を生成します(http://gskinner.com/RegExr/でテスト済み、一致は太字http://で示されています。これ以上URLを投稿することは許可されていないため、後にスペースを追加する必要がありました)。

www.example.com
http:// www.example.com http://example.com
[
リンクhttp://www.example.com]問題なし1[/link]
[リンクwww.example.com]問題なし2 [/ link]
[link http://www.example.com] http://www.example.com [/ link ]

私はネガティブな先読みを動かしてかっこで遊んでみましたが(かなり目的もなく)、成功しませんでした。

完全を期すために、タグマッチング正規表現(これは機能しているようです)を次に示します。

誰かがすぐにエラーを見つけることができると確信しています。

よろしくお願いします!

0 投票する
0 に答える
172 参照

php - PHP preg_replace_callback 変数の最適化

私は preg_replace_callback に関する情報をたくさん検索してきましたが、うまく機能させることができましたが、これを最適化できるかどうか疑問に思っていますか?

これら 2 つを 1 回の preg 実行で実行できますか?

0 投票する
2 に答える
942 参照

php - 無名関数を使用した preg_replace_callback

このエラーが発生していますが、理由がわかりません:

Parse error: syntax error, unexpected $end in C:\wamp\www\test.php(19) : eval()'d code on line 1

どんな洞察もいただければ幸いです!

0 投票する
1 に答える
132 参照

php - 一致を正規表現に置き換えて抽出します

たとえばpreg_match_all()ですべての一致を取得し、結果を空の文字列に置き換えるにはどうすればよいですか?

私はこのようなものを試しました:

しかし、$ comment変数は無名関数からアクセスできないように見えるため、これはあまりうまく機能しません。私はグローバル変数を作ることができると思いますが、私は本当にそのような名前空間を台無しにしたくありません

0 投票する
3 に答える
111913 参照

php - preg_replace() e 修飾子を preg_replace_callback に置き換えます

正規表現が苦手です。私はこれを置き換えようとしています:

無名関数で preg_replace_callback を使用します。\\2 が何をしているのかわかりません。または、正確に preg_replace_callback がどのように機能するかについても説明します。

これを達成するための正しいコードは何でしょうか?

0 投票する
2 に答える
673 参照

php - preg_replace_callback を使用して html の if/else 条件を評価するための PHP 正規表現パターン

次のように、手動で作成された html タグで if/else を評価するための正規表現パターンが必要です。

そして、より具体的には:

基本的には、すべての「条件」の後方参照の戻り値と、htmlファイルへのphp変数出力の練習用の「戻り値」を取得したいです。例:

  • 最初のものでは、$2 は $condition、$3 は true の場合の戻り値、$4 は false の場合です。
  • 2 番目の $2 は $condition、$3 は true の場合、$4 は 2 番目の条件、$5 は上記の条件が一致した場合の戻り値などです。

認識できるパターンが必要です

また

または複数回出現して、適切に後方参照の値を返します。

これの目的は、php ファイル (事前定義された変数を含む) を使用して html テンプレートをインクルードし、直接使用せずに、php 変数に基づいて値を出力することです。

html テンプレート内。

例:

PHP ファイル:

HTML ファイル:

PHP ファイルを実行すると、次のように出力されます。

特定の回答、または自分で書いたコードを修正する他の方法を得たいと思っています(あまり良くありません)。

ありがとうございました。