2011-05-12 7 views
5

खेद है कि मैं है कि PHP के साथ अच्छा अभी तक नहीं है, मैं इस कोशिश की यह पता लगाने के लिए और फिर एक सरणीआप php में लाइन ब्रेक कैसे ढूंढते हैं?

$translate="this 
is in 
multiple 
lines"; 
$lastBreak=0; 
$it=array(); 
$ci=0; 
for ($i=1;$i<strlen($translate);$i++) { 
    if strchr(substr($translate,$i,$i),"\n") { 
     $it[$ci]=substr($translate,$lastBreak+1,$i-1); 
     $ci+=1; 
     $lastBreak=$i; 
    } 
} 

मदद में प्रत्येक पंक्ति डाल?

उत्तर

16
$it = explode("\n", $translate); 

http://php.net/explode

:)

+5

+1 मुझे 8 सेकंड :) –

+0

धन्यवाद द्वारा हरा, मुक्केबाज़ी कि पता नहीं था। – SDuke

+1

सभी लाइन डिलीमीटरों को संभालने के लिए, preg_split: $ arry_lines = preg_split ("/ [\ r | \ n] + /", $ अनुवाद) में नियमित अभिव्यक्ति का उपयोग करें; – dfmiller

2

अपडेट किया गया:

यह एक अप्रत्याशित LINEBREAK उत्पादन कर सकते हैं, इस बदलाव में मदद कर सकते हैं:

$arry_lines = explode("[\n|\r]", $translate); 
+2

['split' को बहिष्कृत किया गया है] (http://php.net/split) PHP 5.3 के रूप में और अब और उपयोग नहीं किया जाना चाहिए। – deceze

+0

याह! ठीक है, धन्यवाद। – radosch

+2

विस्फोट समारोह नियमित अभिव्यक्ति की अनुमति नहीं देता है। इसके बजाय preg_split का उपयोग करें: $ arry_lines = preg_split ("/ [\ r | \ n] + /", $ अनुवाद); – dfmiller

0

आप एक $ स्ट्रिंग कर सकते हैं = nl2br ($ string) ताकि आपकी लाइन ब्रेक

में बदल दी गई हो
<br />. 

फिर आप स्ट्रिंग में हेरफेर कर सकते हैं, उदा। यह अलग

<br /> 

इस तरह की पहली घटना से:

list($first, $second) = explode('<br />', $string, 2); 
संबंधित मुद्दे