問題タブ [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.

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

php - ファイル名の検証に関するビジネスのベストプラクティスは何ですか?

私は「ジレンマ」を抱えており、ビジネスのベストプラクティスとは何か疑問に思っています。

Uploadifyを使用して画像をアップロードしています。次に、ファイルを保存する前にファイル名を検証する必要があります。

私はさまざまな解決策を見てきましたが、1つの良い解決策にたどり着くことができません。

これが私の基準です:

  • ファイル名はすべて小文字である必要があります
  • ファイル名には文字[a-z0-9_-]のみを含めることができます
  • ファイルの名前を変更できる必要があります

ファイル名がである場合、どうしますmy.file(name).jpegか?

'。'のファイル名を分解できます。拡張子を保存してから、ファイル名を再度取得するために内包します。しかし、それが最良の解決策であるかどうかはわかりません。

私は少し役立つ次の関数を持っています:

更新1
$_FILESを介してファイルを受信して​​います。これにより、次のデータが得られます。

  • $ _FILES ["file"]["name"]-アップロードされたファイルの名前
  • $ _FILES["file"]["type"]-アップロードされたファイルのタイプ
  • $ _FILES ["file"]["size"]-アップロードされたファイルのバイト単位のサイズ
  • $ _FILES["file"]["tmp_name"]-サーバーに保存されているファイルの一時コピーの名前
  • $ _FILES["file"]["error"]-ファイルのアップロードに起因するエラーコード

UPDATE2
何かを見つけました。7つの要素の配列を返すgetimagesizeを使用できます。これらの要素の1つ[2]はIMAGETYPE_XXXです。

だから私はこのコードを使ってみます:

しかし、それは数2を返すだけです...

(exif_imagetypeも使用しようとしましたが、PHPエラー:未定義関数の呼び出しのみが発生します。)

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

php - vBulletin プラグインで使用する特定のドメインから URL をフィルタリングするための PHP 正規表現

ファイル共有サイトへのリンクを除外する vBulletin のプラグインをまとめようとしています。しかし、よく耳にするように、私は正規表現はおろか、php の初心者でもあります。

基本的に、正規表現をまとめて preg_replace を使用して、これらのドメインからの URL を見つけ、リンク全体を許可されていないというメッセージに置き換えようとしています。ハイパーリンクされているか、プレーンテキストとして投稿されているか、[CODE] bb タグで囲まれているかに関係なく、リンクを見つけてほしいと思います。

正規表現に関しては、次の URL を見つけるために必要になると思います。

  1. http またはアンカータグで始まります。[CODE] タグ内の URL は、プレーン テキストの URL と同じように処理できると思います。その後、置換が [CODE] タグ内で終了しても問題ありません。
  2. ドメイン/単語の前に任意の数の任意の文字を含めることができます
  3. 中間のどこかにドメインがあります
  4. ドメインの後に任意の数の任意の文字を含めることができます
  5. (html|htm|rar|zip|001) などのいくつかの拡張子または終了アンカー タグで終了します。

私をつまずかせているのは2番と4番だと感じています(それ以上ではないにしても)。here で同様の質問を見つけて、コードを少し分解しようとしました(実際には理解していませんでしたが)。私は今、うまくいくかもしれないと思っていたこれを持っていますが、うまくいきません:

私はここでベースから外れていると感じており、正規表現はおろか、php も完全には理解していないことを認めます。これをより良く行う方法、機能させる方法、または RTM へのリンクに関する提案をお待ちしています (ただし、少し読んだので続けます)。

ありがとう。

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

php - すべてのbrタグを1つのユニバーサルに変換します

<br> <br/>すべての可能なbrの組み合わせをに変換するには、単純なpreg_replaceが必要<br />です。

文字列を処理できるように、これは順番に機能する必要があります。 $output = preg_replace('', '<br />', $input)

みんな、ありがとう!

0 投票する
4 に答える
927 参照

php - 配列を指定して、単一のコロン & の前後の空白を削除し、他の複数の空白を 1 つにするにはどうすればよいですか?

配列の例のエントリ:

なる

0 投票する
4 に答える
392 参照

php - PHP で、explode,implode を使用せずに、コロンの左のすべての文字を小文字にします

これは正規表現で行うことができますか?

x-example-HEADER:teSt は x-example-header:teSt になります

y-exaAMPLE:testoneTWOthree は y-example:testoneTWOthree になります

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

php - Matching the first

that does not start with an image in regexp

In PHP, I'm trying to match the first paragraph tag that is not immediately followed by an <img> tag, and add a class to that paragraph tag.

For example, it would add a class to:

and

but not:

Here's what I have so far which successfully adds a class to the first paragraph tag, but it doesn't skip until it finds a paragraph tag that doesn't immediately contain an image:

Thoughts? Apologies if that doesn't make sense.

0 投票する
4 に答える
2450 参照

php - preg_replace メソッドの PHP 構文エラー

パーソナライズされたタグを作成できる bbcode パーサー クラスを実行しようとしていますが、URL に問題があります。

正規表現のおかげで特に問題なく必要なことはすべて実行しましたが、指定された URL を指す特別なタグを作成しようとすると問題が発生します。

私のクラスでは、次のようなメソッドを追加しました。

このコードは、従来の URL [url] http://ciao.com[/url] & [url= http://ciao.com]ciao[/url]で問題なく動作します。

しかし、last.fm スタイルの特別な URL サブジェクト ページの場合に問題があるので、[artist]Lemon Jelly[/artist].

bblink は< a href="http://ciao.com/artist/Lemon Jelly">Lemon Jelly </a> に変換されます (スペース < a> はリンク コードを表示するためだけに使用しました)。
リンクには href 属性に空白があるため、機能しません。

これを回避するために、href url 部分を同じ URL に変更するコードの一部を書きましたが、" " 空白文字の代わりに "+" を使用したため、[artist]Lemon Jelly[/artist]< a href="http://ciao.com/artist/Lemon+Jelly">レモンゼリー</a>

私は PHP の経験がなく、何が問題なのかわかりません。問題が発生することなく、他の状況でこの構文を使用しました。

誰かが私が間違っている場所を見つけるのを手伝ってくれますか?

エラーの種類は PHP 解析エラーです: 構文エラー、予期しない T_LNUMBER、T_VARIABLE または '$' in /... が必要です。

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

php - preg_replaceを使用して空のタグを削除しますが、ブロック引用符の終わりは保持します

この式を作成して、ページ内のすべての空の(空白のみのタグを含む)タグを削除しました。

このようなコンテンツを処理する必要があるまで、それは扱いました...

そしてそれを次のように出力します...

したがって、を削除し</blockquote>ます。

私はこれに頭を悩ませていて、それを機能させることができません。フォーマットするタグを指定する以外に、明らかな解決策を誰かが見ることができますか?また、ワードプレスの投稿で「the_content」をフォーマットしているとも言えます。

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

php - 正規表現、preg_replace_callback 質問 PHP

これが私の正規表現のために持っているものです。これが最善の方法であるかどうか疑問に思っていました。

識別子の間隔に関係なく、大文字と小文字を区別せずに、類似したものを見つけられるようにしたいと考えています。そして、可能であれば、順序について心配する必要はありません..

例:

これが私の既存のコードです:

0 投票する
6 に答える
165 参照

php - PHP:最初のコロンの左側のすべての文字を小文字にするための正規表現を修正

今私は持っています:

この出力

次のように出力されます。