|
|
|
<?
// I wrote this function in response to someone's question on the PHP-DB mailing
// list. What they wanted to do was get the output of a curl function and break it
// up into variables that they can use. You can (if you want) specify the newline
// separator as well as the the name/value separator. Default newline is '\n' and
// default name/value separator is '='.
header("Content-Type: text/plain");
$strText = "Name1=Value1 \n Name2 = Value 2\nName 3 =Value 3";
$arrPairs = extractPairs($strText);
print_r($arrPairs);
//Output:
Array
(
[Name1] => Value1
[Name2] => Value 2
[Name 3] => Value 3
)
//And here's the function you can use
// this one splits with \n and =
$arrPairs = extractPairs($strText);
// this one splits with \n and --
$arrPairs = extractPairs($strText,"--");
// this one splits with <br> and -->
$arrPairs = extractPairs($strText,"-->","<br>");
function extractPairs($strText,$strValueSeparator="=",$strNewlineSeparator="\n"){
// kill the bad stuff... prevent a meaningless array
if (!is_string($strText)){ return array(""=>""); }
// gets rid of newlines/spaces etc so we don't get a crap array
$strText = trim($strText);
// separate each line in an element in an array
$arrLines = explode($strNewlineSeparator,$strText);
// loop through $arrLines, separating the
// names/values and placing them in $arrOutput
for ($i=0;$i<count($arrLines);$i++){
$pos = strpos($arrLines[$i],$strValueSeparator);
// get the text before and after the found position
// and get rid of the whitespace b4 and after
$tempName = trim(substr($arrLines[$i],0,$pos));
$tempValue = trim(substr($arrLines[$i],$pos+1));
// if its all cool, chuck it on the array
if ($tempName && $tempValue){
$arrOutput[$tempName] = $tempValue;
}
}
return $arrOutput;
}
?> |
|
| Avoiding or Detecting high bit characters in a string. Useful when you want to create a valid RSS feed Categories : PHP, Strings, Unicode, Regexps, Rich Site Summary (RSS) | | | mysql_escape_string Categories : PHP, MySQL, Databases, Strings | | | Allows you to parse a deliniated string and put the individual fields in a SELECT option in a form Categories : HTML, PHP, Strings | | | function textwrap will wrap text to any desired width using <BR>\n as the default line break.
Default wrap width is 80 columns.
Categories : Strings, HTML and PHP, PHP | | | Adding dashes to credit card numbers Categories : Strings, Credit Cards, PHP | | | I need a trim function/regexp that will trim all " " from the ends of a string. Categories : Regexps, PHP, Strings | | | Look for the *position* of the first occurence of string2
in string1, beginning at position start.
Categories : Complete Programs, PHP, Strings | | | Import the yahoo address book. Categories : PHP, CURL, Authentication | | | curl_close -- Close a CURL session Categories : PHP, PHP Functions, CURL | | | How to control the number of decimal places when outputting numbers. Categories : PHP, Strings, Variables | | | Newbie Notes #8 - A cron trick Categories : PHP, CURL, Beginner Guides | | | The Porter Word Stemming Algorithm in PHP
Reduces words to their base stem for search engines and indexing Categories : Algorithms, PHP, Strings | | | Takes an array and returns a string, suitable for inputing in an SQL statement
Categories : Arrays, Strings, PHP | | | A function to check if a URL exists Categories : PHP, CURL, HTTP | | | Customizable encoding and decoding strings with security. Categories : PHP, Strings, HTML and PHP | |
|
|
|