2016-11-01 6 views
0

私はウェブサイトのテーマ名を取得しようとしています...正規表現で問題が発生しています。 と表示されている場合、angle-child-themeはURLです。私はその価値を得る必要があります。正規表現でエラーが発生しました

http://example.com/wp-content/themes/angle-child-theme/style.css 

現在、私は、問題は、私はコード

http://example.com/wp-content/themes/angle/assets/images/favicons/favicon.ico 

の線より下にきたウェブサイトのソースコードの上にある値

$searchfor = $url."/wp-content/themes/"; 
// escape special characters in the query 
$pattern = preg_quote($searchfor, '/'); 
// finalise the regular expression, matching the whole line 
$pattern = "/^.*$pattern.*\$/U"; 
// search, and store all matching occurences in $matches 
if(preg_match_all($pattern, $file, $matches)){ 
    //Match found 
} 

を取得するには、この正規表現を使用していますそれから、私の正規表現は値の代わりにの代わりに角度を得ています。angle-child-theme

編集1:ここでは は私が

http\:\/\/example\.com\/wp\-content\/themes\/ 

を使用していた正規表現である誰もがこの正規表現についての私を助けることができますか?

https://regex101.com/r/nR2uaj/2

おかげ

+0

あなたは全体のURLからのみ角度-子をテーマに単語を取得したいですか? –

+0

はいangle-child-theme –

+0

別のURLを使用するとテーマ名が変更されます...上記のテーマ名はangle-child-themeです... –

答えて

0

:ここ

は私の必要な値を取得する正規表現ですandの間にあるURLの一部

$re = '@http://example\.com/wp-content/themes/([^/]+)/style\[email protected]'; 

となり、値は$matches[1]になります。 @の正規表現デリミタでは、最小限のエスケープが可能であり、リテラルドットと一致するすべてのドットをエスケープする必要があることに注意してください。 ([^/]+)の部分は、/[^...]は無効化された文字クラスのであるため)以外の1つ以上の文字に一致してキャプチャするキャプチャグループです。

PHP demoを参照してください:

$re = '@http://example\.com/wp-content/themes/([^/]+)/style\[email protected]'; 
$str = 'http://example.com/wp-content/themes/angle/assets/images/favicons/favicon.ico\nhttp://example.com/wp-content/themes/angle-child-theme/style.css'; 
preg_match_all($re, $str, $matches); 
print_r($matches[1]); 
+0

ありがとうございます:)私の問題は解決しました –

+0

それはあなたのために働いてうれしいです。私の答えが役に立つと分かったら、それをアップビューすることを検討してください([Stack Overflowについてのアップルのしくみ?](http://meta.stackexchange。com/questions/173399/how-to-upvote-on-stack-overflow)を参照してください)。 –

0

私は私の問題を解決してきた:あなたがつかむために必要がある場合は

/http\:\/\/example\.com\/wp\-content\/themes\/([^\/]+)\/style.css/ 
+0

'style.css'も' style-css'にマッチします。あなたの望む値の後に '/ style.css'がなければならないと言いたいのですか? –

関連する問題