2015-08-10 3 views
0

я следующая строкаПроверьте наличие ключевого слова в первой и последней строке

-----BEGIN CERTIFICATE REQUEST----- 
MIICtzCCAZ8CAQAwcjELMAkGA1UEBhMCQVUxETAPBgNVBAgMCFZpY3RvcmlhMRIw 
EAYDVQQHDAlNZWxib3VybmUxDzANBgNVBAoMBk1LVEVTVDELMAkGA1UECwwCSVQx 
HjAcBgNVBAMMFWRuc3Rlc3Q0LnNzbHRlY2hzLmNvbTCCASIwDQYJKoZIhvcNAQEB 
BQADggEPADCCAQoCggEBANRhwPJLWYTFS19kgWLs49wR1BR+qaeET26BHT4ZdmQi 
iDKOFn1VzuBhv6bIWJpGrkBqM5oKkB6ckAjUlMKUNeCTiA0NAqvrAgM19GptzgIq 
-----END CERTIFICATE REQUEST----- 

Я хотел бы быть в состоянии проверить первую и последнюю строку для слова «NEW», если его не хватает, то это должно быть добавлено в

результат должен выглядеть так:.

-----BEGIN NEW CERTIFICATE REQUEST----- 
MIICtzCCAZ8CAQAwcjELMAkGA1UEBhMCQVUxETAPBgNVBAgMCFZpY3RvcmlhMRIw 
EAYDVQQHDAlNZWxib3VybmUxDzANBgNVBAoMBk1LVEVTVDELMAkGA1UECwwCSVQx 
HjAcBgNVBAMMFWRuc3Rlc3Q0LnNzbHRlY2hzLmNvbTCCASIwDQYJKoZIhvcNAQEB 
BQADggEPADCCAQoCggEBANRhwPJLWYTFS19kgWLs49wR1BR+qaeET26BHT4ZdmQi 
iDKOFn1VzuBhv6bIWJpGrkBqM5oKkB6ckAjUlMKUNeCTiA0NAqvrAgM19GptzgIq 
-----END NEW CERTIFICATE REQUEST----- 

я есть это до сих пор, чтобы получить первую строку

$lines=explode("\n", $data); 
echo $lines['0']; 
+1

Вы пробовали что-нибудь? – Rizier123

+0

yep, обновленный пост – user3436467

ответ

2

Вместо того чтобы делать проверки вы можете просто заменить BEGIN CERTIFICATE REQUEST с НАЧАТЬ НОВЫЙ СЕРТИФИКАТ ЗАПРОС.

Попробуйте это:

$string = str_replace(
    ['BEGIN CERTIFICATE REQUEST', 'END CERTIFICATE REQUEST'], 
    ['BEGIN NEW CERTIFICATE REQUEST', 'END NEW CERTIFICATE REQUEST'], 
    $string 
); 
+0

Мне нравится это решение лучше всего .. приятно и элегантно. Спасибо – user3436467

2

Вам не нужно проверять каждую строку для чего-то подобного. Попробуйте следующее:

preg_replace("/(begin|end) certificate/i", "$1 NEW CERTIFICATE", $str); 
1

попробовать

if (strpos($string,'NEW') == false) { 
    str_replace('CERTIFICATE', "NEW CERTIFICATE", $string); 
} 
Смежные вопросы