2017-01-13 13 views
-3

私のCMSで可能なURLパターンを検証する関数を作成したいと思います。可能なパターン:URLパターンに一致する正規表現

9-naberanie-cistej-hmoty 
demonize-p18 
maximizing-your-prohormone-cycle-34 
  1. リンクパターン

    • CATEGORY_ID-CATEGORY_URL
  2. リンクパターン

    • PRODUCT_URL-pPRODUCT_ID
  3. リンクパターン

    • ARTICLE_URL-のarticle_id

は、正規表現を経由して、それを検証することが可能ですか?私はものを爆発させることを考えていましたが、これに対して正規表現があれば、より多くのステップが必要になります。私は正規表現に慣れていないですので、任意の助けをありがとう

コード:

$category = "9-naberanie-cistej-hmoty"; 
preg_match("([0-9]+)-([A-Za-z-]+)", $category); 

私はこのコードを実行すると、私は

メッセージ取得:するpreg_match()を:不明な修飾子を ' - '

arkaschaへ
+1

確かに可能です。しかし、SOは無料のコーディングサービスではありません。私たちはあなた自身のコードであなたを助けるためにここにいます_。あなたはあなたのためにあなたの仕事をするためにここにいません。だから自分自身を始め、必要なものを実装してください。そして、あなたが問題に遭遇した場合、自分のコードで自分自身を解決したり理解したりすることはできません。ここに来て、コードを投稿し、問題を正確かつ具体的に指摘することで尋ねます。 – arkascha

+0

あなたは少なくとも私がいくつかのパターンを見つけることができ、どのように始めることができるリンクを私に提供することができますか? –

+0

googleで見つかる正規表現に関する無限のチュートリアルがあります。 – arkascha

答えて

1

あなたはあなたの質問について考え始めた後、あなたはかなり良い答えをくれました。

少し修正を加えました。 PHP終了タグはめったにありません。また、あなたの質問に答えるために、あなたはでしたが、あなたは、前^と末尾$を追加することにより、被験者の開始と終了に自分の表現を固定する必要があることを指摘して...

ありません良いアイデア...

<?php 
$category = "9-naberanie-cistej-hmoty"; 
$product = "demonize-p18"; 
$article = "maximizing-your-prohormone-cycle-34"; 

preg_match('/^([0-9]+)-([A-Za-z-]+)$/', $category, $matches); 
preg_match('/^([A-Za-z-]+)-p([0-9]+)$/', $product, $matches); 
preg_match('/^([A-Za-z-]+)-([0-9]+)$/', $article, $matches); 
+0

ありがとう、私のコードで編集しました。まあ、それはちょうど例を作りたかったので、私のコードからちょうどスナップでした。とにかくありがとう。 –

0

まあおかげで、私はここで答え:)

に取り組みましたコードは

<?php 
$category = "9-naberanie-cistej-hmoty"; 
$product = "demonize-p18"; 
$article = "maximizing-your-prohormone-cycle-34"; 

preg_match("/([0-9]+)-([A-Za-z-]+)/", $category, $matches); 
preg_match("/([A-Za-z-]+)-p([0-9]+)/", $product, $matches); 
preg_match("/([A-Za-z-]+)-([0-9]+)/", $article, $matches); 
?> 
関連する問題