2014-10-03 20 views
0

我一直在閱讀各種文章,並已到達一些代碼。將PHP字符串替換爲單個URL

有關我的網站http://home.com/example/(且只有URL - 沒有孩子)一個URL,我想只有<a基本上剝離出來itemprop="url"該更換的"<a itemprop="url"所有實例就是我想出了,但我不確定我是否在正確的路線上,並且如果我是如何在它的基礎上「回聲」它的代碼,而不是迴應屏幕的東西。也不太確定我是否需要在$str_replace的單引號內跳過雙引號。

if(preg_match("%/example/$%", $_SERVER['REQUEST_URI'])){ 
$string = "<a itemprop=\"url\""; 
$str_replace = str_replace('<a itemprop="url"','<a',$string); 
//something here 
} 

請任何人都可以還提醒,如果我在我是怎麼處理這個什麼代碼的最後部分需要運行它正確的(我假設沒有echo $str_replace;。我將運行它作爲從我的WordPress functions.php文件中的函數 - 我舒服,如果它的工作原理

這可能是一個爛攤子,我很抱歉,如果它是

回答

0

嘗試strpos()

if(strpos($_SERVER['REQUEST_URI'], "example") !== false){ 
    $string = "<a itemprop=\"url\""; 
    $str_replace = str_replace('<a itemprop="url"','<a',$string); 
} 
+0

謝謝你閱讀過有關'strpos'我不完全理解,但你建議它會比'preg_match'更好。我猜。 – 2014-10-03 11:48:28

+0

你的歡迎:)你可以接受/ upvote有用的答案 – 2014-10-03 11:49:29

+0

我總是做一次,我有它想出了拉克什。我不確定它對我的代碼有什麼幫助 - 你能解釋一下我的情況(短句)嗎?這對我來說真的很有幫助。 – 2014-10-03 11:52:49

0

必須有某種模板,你在哪裏得到默認的HTML,並在你的代碼的某些點上的PHP修改它的...

$html_template = file('...adress_of_the_url_template...'); 
....... 
if(strpos($_SERVER['REQUEST_URI'], "example") !== false){ 
     $string = "<a itemprop=\"url\""; 
     $html_template = str_replace($string,'<a',$html_template); 
} 
....... 
....... 
echo $html_template 

那麼你已經取代了HTML代碼,你想

+0

非常感謝你使用WordPress的WordPress模板的服務器地址?我可以研究創建該根的結構,但是如果它是一個標準的帖子,那麼你的意思是例如single.php,並且這不是一個網址,而是一個內部服務器地址,可能是正斜槓? – 2014-10-03 11:46:50

+0

是的,從開始審查.php並嘗試找出它加載html的位置,該文​​件是您必須執行替換的位置。如果您找不到它,請期待其他.php文件是否包含您的文件,您可能會發現它 – vivoconunxino 2014-10-03 13:03:35

0

看起來我太過於複雜了,因爲解決方案似乎在Wordpress功能之內。這是我結束了。任何意見,更正或建議表示讚賞。我不是一個編碼器,你可能會意識到...

function schema($content) { 
if (is_page('my-page-slug')) { 
return str_replace('<a itemprop="url"', '<a', $content); 
} 
else return $content; 
} 
add_filter('the_content', 'schema', 99);