2011-07-12 10 views
6

के बीच स्ट्रिंग के रूप में मैं php के लिए नया हूं, और googling के बाद :) मैं अभी भी वह नहीं ढूंढ सका जो मैं करना चाहता था।स्ट्रिंग, php

मैं स्ट्रिंग में प्रारंभ और अंत स्थिति ढूंढने में सक्षम हूं जिसे मैं निकालना चाहता हूं लेकिन अधिकांश उदाहरण स्ट्रिंग या वर्ण या पूर्णांक का उपयोग स्ट्रिंग प्राप्त करने के लिए करते हैं लेकिन मुझे स्ट्रिंग बीसवीं दो पद नहीं मिल सका।

उदाहरण के लिए: $ स्ट्रिंग = "यह एक परीक्षण निकालने का प्रयास कर रहा है"; $ pos1 = 9; $ pos2 = 14;

तब मैं खो गया। मुझे स्ट्रिंग के 9 और 14 के बीच टेक्स्ट प्राप्त करने की आवश्यकता है। धन्यवाद।

उत्तर

8
$startIndex = min($pos1, $pos2); 
$length = abs($pos1 - $pos2); 

$between = substr($string, $startIndex, $length); 
+0

ठंडा। मेरे लिये कार्य करता है। बहुत बहुत धन्यवाद! – Jackie

1
<?php 
$string = "This is a test trying to extract"; 
$pos1 = 9; 
$pos2 = 14; 

$start = min($pos1, $pos2); 
$length = abs($pos1 - $pos2); 

echo substr($string, $start - 1, $length); // output 'a test' 
?> 
+1

मामले में जहां $ pos2 <$ pos1 संभाल नहीं करता है। –

+0

+1 अच्छी पकड़, इनपुट – JConstantine

+0

इनपुट को मान्य करने के लिए कभी भी उपयोगकर्ता इंटरफ़ेस पर निर्भर न करें। मेरे लिये कार्य करता है। बहुत बहुत धन्यवाद! – Jackie

3

आप स्ट्रिंग के हिस्से को निकालने के लिए substr() का उपयोग कर सकते हैं। यह प्रारंभिक बिंदु और उस लंबाई की लंबाई को सेट करके काम करता है जिसे आप निकालना चाहते हैं।

तो आपके मामले में यह होगा:

$string = substr($string,9,5); /* 5 comes from 14-9 */ 
संबंधित मुद्दे