2016-08-26 95 views
0

我試圖找出在某行的開始或結尾是否有特定的轉義序列如果存在,我需要把它在開始或結束。我無法弄清楚如何做到這一點。請幫助檢查字符串開頭或結尾的轉義序列php

例如,可以說,我想這樣的字符串

"\"Hello\""

,但我遇到一個像這樣的字符串

Hello

然後我應該把它改變成所需的格式,其是

"\"Hello\""

+1

不明白你的問題,但是這將工作:'$海峽= '你好'; print'''.addslashes('''。$ str。'''')。''';' – JustOnUnderMillions

+0

有什麼方法可以檢查,如果我們在開始或結束時有轉義序列? – Garden

回答

0

此正則表達式:

^(?:\\")?(.*?)(?:\\")?$ 

允許以提取內容任選被\"序列包圍。 (演示:https://regex101.com/r/vE2iN1/1)。然後,你可以用\"$1\"替換爲:

preg_replace('/^(?:\\\\")?(.*?)(?:\\\\")?$/', '\"$1\"', $str); 

演示:https://ideone.com/QCYxtP

+0

還有一件事。如果我的字符串被包圍在這些引號''''之間,那麼這個正則表達式將完美工作。是否需要爲這個''''和''「''工作。我需要這個的原因是根據客戶請求更改一些實時數據。並且其中一些數據具有像這樣的''''引號,並且有些像這樣'''' – Garden

相關問題