/ / PHP में स्ट्रिंग से एक पते के कुछ हिस्सों को निकालना - php, प्रतिस्थापन

PHP - php, substring में एक स्ट्रिंग से किसी पते के हिस्सों को निकालना

मैंने एक html फॉर्म बनाया जिसमें आप अपना प्रवेश कर सकते हैंएक ही तार में सड़क का पता। मैं PHP में सड़क संख्या, सड़क का नाम और सड़क का प्रकार (वर्धमान, सड़क, सड़क आदि) कैसे निकाल सकता हूं? मुझे यकीन नहीं है कि स्ट्रिंग की लंबाई वे दर्ज करेंगे और यह सही जानकारी नहीं निकाल सकता है।

कृपया मदद के रूप में मैं PHP में कोडिंग में नया हूँ।

नीचे मेरा कोड है:

$address = $_POST["address"];

echo "Your address is: $address <br>";

$addressSubstring = substr($address,0 , 15);

echo "Address: $addressSubstring <br>";

$strNumber = substr($addressSubstring, 0, 2);

$strName = substr($addressSubstring, 2, 8);

$strType = substr($addressSubstring, 8, 15);

echo "Your street number is: $strNumber <br>";
echo "Your street name is: $strName <br>";
echo "Your street type is: $strType <br>"

उत्तर:

जवाब के लिए 0 № 1

यह ध्यान में रखते हुए कि सड़क प्रकार "वर्धमान | सड़क | सड़क" हैं:

नियमित अभिव्यक्ति का उपयोग करने से समस्या हल हो सकती है:

<?php
$address = "43 Willow Street"; // $_POST["address"] or "35 Hanover Crescent & 52 Longford Road";

preg_match_all("/(d+)(.+?)(crescent|road|street)/i", $example, $out_arr);

// $no_of_addresses_found = count($out_arr[0]); // in case of future improvements
$strNumber = $out_arr[1][0];     // 43
$strName = trim($out_arr[2][0]); // Willow
$strType = $out_arr[3][0];       // Street

echo "Your street number is: $strNumber <br>";
echo "Your street name is: $strName <br>";
echo "Your street type is: $strType <br>"

उत्तर № 2 के लिए 1

आप अपने कोड की तरह निश्चित स्थान और लंबाई में सबस्ट्रिंग प्राप्त करने पर भरोसा नहीं कर सकते क्योंकि वे हर बार बदल जाएंगे।

किसी भी एपीआई या एआई का उपयोग किए बिना, आप जो सबसे अच्छा कर सकते हैं वह सड़क प्रकार (और उनके संक्षिप्तीकरण) के साथ एक सरणी बना सकता है और जांचें कि क्या कोई भी शब्द स्ट्रिंग में है।

इसके लिए आप उपयोग कर सकते हैं strpos प्रत्येक शब्द या नियमित अभिव्यक्ति के मिलान के लिए।

तब आप उस शब्द को स्ट्रिंग से हटा सकते हैं,और फिर से स्ट्रैप का उपयोग करते हुए पहले स्थान की स्थिति प्राप्त करें। फिर उस स्थिति का उपयोग स्पेस (स्ट्रीट नंबर) से पहले स्पेसिंग और स्पेस (स्ट्रीट नाम) के बाद सबस्ट्रिंग करने के लिए करें।