問題タブ [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.
php - php:なぜpreg_replace_callbackは組み込みのphp関数を許可せず、匿名のユーザー関数だけを許可するのですか?
これは機能せず、空の文字列を出力します。
組み込み関数を使用すると良かったでしょう。実際、一般的なコールバックでは、 http://php.net/manual/en/language.types.callable.phpに従って組み込み関数を使用できますが、preg_replace_callbackは使用できません。PHPの機能リクエストである可能性がありますか?
php - PHP 5.2.17 での preg_replace_callback
私はこのコードを持っており、PHP 5.3 以降で正常に動作しますが、5.2.17 以降で実行する必要があります。誰か助けてください。
php - コメントの特定の部分に対する preg_match
コメントの特定の部分を見つけたい。以下はいくつかの例です
現在、次の正規表現を使用しています
これは以下を返します:
@todo と名前だけを取得し、アスタリスクを取得するにはどうすればよいですか?
希望の出力
php - {{calendar}} を含む文字列ですが、calendar.php を呼び出すために必要です
HTML コンテンツをテキスト データ型の MySQL フィールドに保存しています。また、ckeditor を WYSIWYG エディターとして使用して、MySQL に保存されている HTML を作成しています。ユーザーが探してインクルードファイルを呼び出すことで置き換えることができるある種の文字列を配置する方法を探しています。例えば:
php - Php preg_replace_callback 動作しません
文字列から文字を置き換えて他のものを入れようとしましたが、これはpreg_replace_callback関数を使用するため、問題はこの関数が元のテキストの順序を変更し、異なる結果を表示することです
たとえば、文字列が次の場合:
皆さん、こんにちは [1-2-3] これは 1 つのテストです [4-5-6-7-8] --- > 元のテキスト
スクリプトは [ ] を検索し、このコンテンツを [ ] で他のテキストから分離しますが、ここに置くように表示します。
1-2-3 4-5-6-7-8 こんにちは皆さんこれは 1 つのテストです --- > 悪い結果
正しい順序の場合、[ ] のない最初の順序です。
みなさん、こんにちは 1-2-3 これは 1 つのテストです 4-5-6-7-8
私が作成するスクリプト:
みんな助けてくれてありがとう
php - 複数のアイテムとpreg_replace_callback
このスクリプトは、コードでbb-codeのようなタグを使用できるように作成しました。最良の方法を決定し、 bbタグを動的に置き換える方法を尋ねた後、多くの時間を費やしましたか?、preg_replace_callbackを使用することにしました。
ただし、同じ行に複数のアイテムがある場合は問題があります
上記の部分は機能しますが、以下は機能しません。
file_get_contents()の使用は推奨されるオプションではないことは知っていますが、1行に複数のForvoタグを使用する場合は、preg_replace_callbackの別の解決策も見つける必要がありますか?
regex - 正規表現で必要な支援
人の名前が二重括弧で囲まれたコンテンツのブロックがあります。例えば:
Lorem ipsum dolor sit amet, consectetur [[Jane Doe]] adipisicing elit, sed do eiusmod tempor incididunt ut labe et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud execitation ullamco [[John Doe]] laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Exceptioneur sint occaecat cupidatat non proident, [[Susan Van-Something]] sunt in culpa qui office deserunt mollit anim id est labum.
二重括弧から名前を取り出し、コンテンツ内のそれらを以下のフォーマットに従ったリンクに置き換える正規表現を作成しようとしています:
<a href='http://www.example.com/jane-doe/'>Jane Doe</a>
URL では、スペースがハイフンに変換され、名前全体が小文字になります。
これまでのところ、私は持っています
残念ながら、正規表現に問題があると思われます。どんな助けでも大歓迎です。
php - preg replace_callback 投稿のメンションとハッシュタグ
私はテキストを持っているとしましょう、
@stackguy と @flowguy の両方をそれぞれ 2 つのアンカー タグに置き換えたいと思います。これは、テキスト文字列内の任意の数の @ に対しても機能するはずです。
#ilovephp も置き換えたい
複数の # に対しても機能するはずです。みたいな感じになると思います
正規表現はどのようになりますか? 私の関数は必要なものすべてに一致しますか、それとも foreach ループを追加する必要がありますか? ありがとう。
php - preg_replace_callback パターンの問題
次のパターンを使用してリンクをキャプチャし、それらを HTML 対応のリンクに変換しています。preg_replace_callback で次のパターンを使用しますが、ほとんどの場合は機能します。
しかし、テキストが次のようになっている場合、このパターンは失敗します。
その時点で、リンクの一部である [/b を面白がってキャプチャし、次のようになります。
私はパターンに目を通し、チートシートを使用して何が起こっているのかを追跡しようとしましたが、それは私を悩ませました. 忍者のヘルプをコーディングできる人はいますか?
php - preg_replace_callback:正規表現の検索と置換
このパターンでは、$ book($ m [1])しか取得できません。
しかし、$ feed($ m [2])も取得したいので、この[book=123_456]に置き換えます。
アンダースコアの後に「456」($ m [2])を取得するにはどうすればよいですか?