nlopess         Tue Jul 12 12:33:57 2005 EDT

  Modified files:              
    /phpdoc/en/reference/strings/functions      substr-count.xml 
  Log:
  convert to new style
  add new offset&length parameters
  integrate users notes about 'overlapped' substrings
  improve the example
  
http://cvs.php.net/diff.php/phpdoc/en/reference/strings/functions/substr-count.xml?r1=1.6&r2=1.7&ty=u
Index: phpdoc/en/reference/strings/functions/substr-count.xml
diff -u phpdoc/en/reference/strings/functions/substr-count.xml:1.6 
phpdoc/en/reference/strings/functions/substr-count.xml:1.7
--- phpdoc/en/reference/strings/functions/substr-count.xml:1.6  Thu May 13 
22:03:12 2004
+++ phpdoc/en/reference/strings/functions/substr-count.xml      Tue Jul 12 
12:33:55 2005
@@ -1,44 +1,152 @@
 <?xml version="1.0" encoding="iso-8859-1"?>
-<!-- $Revision: 1.6 $ -->
+<!-- $Revision: 1.7 $ -->
 <!-- splitted from ./en/functions/strings.xml, last change in rev 1.27 -->
-  <refentry id="function.substr-count">
-   <refnamediv>
-    <refname>substr_count</refname>
-    <refpurpose>Count the number of substring occurrences</refpurpose>
-   </refnamediv>
-   <refsect1>
-    <title>Description</title>
-     <methodsynopsis>
-      <type>int</type><methodname>substr_count</methodname>
-      
<methodparam><type>string</type><parameter>haystack</parameter></methodparam>
-      
<methodparam><type>string</type><parameter>needle</parameter></methodparam>
-     </methodsynopsis>
-    <para>
-     <function>substr_count</function> returns the number of times the
-     <parameter>needle</parameter> substring occurs in the
-     <parameter>haystack</parameter> string. Please note that
-     <parameter>needle</parameter> is case sensitive.
-    </para>
-
-    <para>
-     <example>
-      <title><function>substr_count</function> example</title>
-      <programlisting role="php">
+<refentry id="function.substr-count">
+ <refnamediv>
+  <refname>substr_count</refname>
+  <refpurpose>Count the number of substring occurrences</refpurpose>
+ </refnamediv>
+ <refsect1 role="description">
+  &reftitle.description;
+  <methodsynopsis>
+   <type>int</type><methodname>substr_count</methodname>
+   
<methodparam><type>string</type><parameter>haystack</parameter></methodparam>
+   <methodparam><type>string</type><parameter>needle</parameter></methodparam>
+   <methodparam 
choice="opt"><type>int</type><parameter>offset</parameter></methodparam>
+   <methodparam 
choice="opt"><type>int</type><parameter>length</parameter></methodparam>
+  </methodsynopsis>
+  <para>
+   <function>substr_count</function> returns the number of times the
+   <parameter>needle</parameter> substring occurs in the
+   <parameter>haystack</parameter> string. Please note that
+   <parameter>needle</parameter> is case sensitive.
+  </para>
+  <note>
+   <para>
+    This function doesn't count overlapped substrings. See the example below!
+   </para>
+  </note>
+ </refsect1>
+
+ <refsect1 role="parameters">
+  &reftitle.parameters;
+  <para>
+   <variablelist>
+    <varlistentry>
+     <term><parameter>haystack</parameter></term>
+     <listitem>
+      <para>
+       The string to search in
+      </para>
+     </listitem>
+    </varlistentry>
+    <varlistentry>
+     <term><parameter>needle</parameter></term>
+     <listitem>
+      <para>
+       The substring to search for
+      </para>
+     </listitem>
+    </varlistentry>
+    <varlistentry>
+     <term><parameter>offset</parameter></term>
+     <listitem>
+      <para>
+       The offset where to start counting
+      </para>
+     </listitem>
+    </varlistentry>
+    <varlistentry>
+     <term><parameter>length</parameter></term>
+     <listitem>
+      <para>
+       The maximum legth after the specified offset to search for the
+       substring. It outputs a warning if the offset plus the length is
+       greater than the <parameter>haystack</parameter> length.
+      </para>
+     </listitem>
+    </varlistentry>
+   </variablelist>
+  </para>
+ </refsect1>
+
+ <refsect1 role="returnvalues">
+  &reftitle.returnvalues;
+  <para>
+   This functions returns an <type>integer</type>.
+  </para>
+ </refsect1>
+
+ <refsect1 role="changelog">
+  &reftitle.changelog;
+  <para>
+   <informaltable>
+    <tgroup cols="2">
+     <thead>
+      <row>
+       <entry>&Version;</entry>
+       <entry>&Description;</entry>
+      </row>
+     </thead>
+     <tbody>
+      <row>
+       <entry>5.1.0</entry>
+       <entry>
+        Added the <parameter>offset</parameter> and
+        the <parameter>length</parameter> parameters
+       </entry>
+      </row>
+     </tbody>
+    </tgroup>
+   </informaltable>
+  </para>
+ </refsect1>
+
+ <refsect1 role="examples">
+  &reftitle.examples;
+  <para>
+   <example>
+    <title>A <function>substr_count</function> example</title>
+    <programlisting role="php">
 <![CDATA[
 <?php
-echo substr_count("This is a test", "is"); // prints out 2
+$text = 'This is a test';
+echo strlen($text); // 14
+
+echo substr_count($text, 'is'); // 2
+
+// the string is reduced to 's is a test', so it prints 1
+echo substr_count($text, 'is', 3);
+
+// the text is reduced to 's i', so it prints 0
+echo substr_count($text, 'is', 3, 3);
+
+// generates a warning because 5+10 > 14
+echo substr_count($text, 'is', 5, 10);
+
+
+// prints only 1, because it doesn't count overlapped subtrings
+$text2 = 'gcdgcdgcd';
+echo substr_count($text2, 'gcdgcd');
 ?>
 ]]>
-      </programlisting>
-     </example>
-    </para>
-    <simpara>
-     See also <function>count_chars</function>,
-     <function>strpos</function>, <function>substr</function>,
-     and <function>strstr</function>.
-    </simpara>
-   </refsect1>
-  </refentry>
+    </programlisting>
+   </example>
+  </para>
+ </refsect1>
+
+ <refsect1 role="seealso">
+  &reftitle.seealso;
+  <para>
+   <simplelist>
+    <member><function>count_chars</function></member>
+    <member><function>strpos</function></member>
+    <member><function>substr</function></member>
+    <member><function>strstr</function></member>
+   </simplelist>
+  </para>
+ </refsect1>
+</refentry>
 
 <!-- Keep this comment at the end of the file
 Local variables:

Reply via email to