0

regexpal.comを使用して、Wordpressが比較しようとしているデータに対して正規表現をテストしましたが、失敗しました。これを見て、問題が発生したかどうかを教えてください。

正規表現

"#^json/(.+?)/?([a-zA-Z0-9]*)?$#"

一致するコンテンツ

json/trips

これらの作品、前のものはしません

json/trips/0
json/trips/13
json/fullticket/9805048001130122361809

これらすべてをregexpalで試してみると、すべて機能しますが、wordpressでは、フェッチしたい要素のIDを含まないものだけが失敗し、他の要素は正常に機能します。

興味深いことに、$matchesはこれを返します。

array
0 => string 'json/trips' (length=10)
1 => string 't' (length=1)
2 => string 'rips' (length=4)
4

2 に答える 2

1

代わりにこの正規表現を試してください:

#^json/([^/]+)/?([a-zA-Z0-9]*)?$#

出力:

Array
(
    [0] => json/trips
    [1] => trips
    [2] => 
)
于 2013-01-29T10:42:19.510 に答える
0

ワードプレスの書き換えルールをもう少し調整した後の答えは次のようになります。

data/([^/]+)(/([a-zA-Z0-9\-]*))?$

注:新しいシナリオでjsonをデータに変更したので、カスタム投稿タイプのルールを台無しにしないでください

于 2013-01-29T10:45:33.537 に答える