Ceci est une ancienne révision du document !
/** * Tests if a string starts with a given string * * @param string * @param string * @return bool */ function startWith($string, $start) { return strpos($string, $start) === 0; }
/** * Tests if a string ends with the given string * * @param string * @param string * @return bool */ function endWith($string, $end) { return strrpos($string, $end) === strlen($string) - strlen($end); }
class DebugTool { public static function show($object, $title = null, $backtrace_index = 0) { echo '<div class="debug">'; $calledFrom = debug_backtrace(); echo '<strong>' . $calledFrom[$backtrace_index]['file'] . '</strong>'; echo ' (line <strong>' . $calledFrom[$backtrace_index]['line'] . '</strong>)'; if(isset($title)) { echo '<h3>' . $title . '</h3>'; } echo('<pre>'); if(is_array($object)) { print_r($object); } elseif(is_a($object, 'DOMDocument')) { $object->formatOutput = true; $xml_string = $object->saveXML(); echo htmlentities($xml_string); } elseif(is_a($object, 'DOMNodeList') || is_a($object, 'DOMElement')) { $dom = new DOMDocument(); $debugElement = $dom->createElement('debug'); $dom->appendChild($debugElement); if(is_a($object, 'DOMNodeList')) { foreach ($object as $node) { $node = $dom->importNode($node, true); $debugElement->appendChild($node); } } elseif(is_a($object, 'DOMElement')) { $node = $dom->importNode($object, true); $debugElement->appendChild($node); } $dom->formatOutput = true; $xml_string = $dom->saveXML(); echo htmlentities($xml_string); } elseif(is_object($object)) { echo get_class($object); } else { echo $object; } echo('</pre>'); echo '</div>'; } } /*******************************************************************/ /***** GLOBAL FUNCTIONS ********************************************/ /*******************************************************************/ function debug($object, $title = null) { DebugTool :: show($object, $title, 1); }
/** * Converts a UNIX timestamp (as returned by time()) to a datetime string * for use in SQL queries. * @param int $date The date as a UNIX timestamp. * @return string The date in datetime format. */ static function to_db_date($date) { if (isset($date)) { return date('Y-m-d H:i:s', $date); } else { return null; } }
/** * Converts a datetime value (as retrieved from the database) to a UNIX * timestamp (as returned by time()). * @param string $date The date as a UNIX timestamp. * @return int The date as a UNIX timestamp. */ static function from_db_date($date) { if (isset ($date)) { return strtotime($date); } else { return null; } }
/** * Return the string found between two characters. If an index is given, it returns the * value at the index position * * @param string $opening_char * @param string $closing_char * @param int $index 0 based index * @return string or null */ function get_value_between_chars($haystack, $index = 0, $opening_char = '[', $closing_char = ']') { $offset = 0; $found = true; $value = null; for ($i = 0; $i < $index + 1; $i++) { $op_pos = strpos($haystack, $opening_char, $offset); if($op_pos !== false) { $cl_pos = strpos($haystack, $closing_char, $op_pos + 1); if($cl_pos !== false) { $value = substr($haystack, $op_pos + 1, $cl_pos - $op_pos - 1); $offset = $cl_pos + 1; } else { $found = false; break; } } else { $found = false; break; } } if($found) { return $value; } else { return null; } }