var probleem in function upper_lower()
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?
/*
* de vars zijn $line[state], $line[place]
* functie wijzigt de tekst input in 1e letter = Hoofdletter, rest= kleine letters
* indien "-" teken aanwezig, opnieuw 1e letter = Hoofdletter, rest= kleine letters
* bijv. input = noord-holland, wordt input = Noord-Holland
* bijv. input = den helder, wordt input = Den Helder
*/
function upper_lower($var)
{
$var = $word_caps;
preg_match_all("/^([aA-zZ]+)(\s|\-+)([aA-zZ]+)/", $var, $matches);
$words_caps = ucfirst($matches[1][0]) . $matches[2][0] . ucfirst($matches[3][0]);
return $var;
}
?>
/*
* de vars zijn $line[state], $line[place]
* functie wijzigt de tekst input in 1e letter = Hoofdletter, rest= kleine letters
* indien "-" teken aanwezig, opnieuw 1e letter = Hoofdletter, rest= kleine letters
* bijv. input = noord-holland, wordt input = Noord-Holland
* bijv. input = den helder, wordt input = Den Helder
*/
function upper_lower($var)
{
$var = $word_caps;
preg_match_all("/^([aA-zZ]+)(\s|\-+)([aA-zZ]+)/", $var, $matches);
$words_caps = ucfirst($matches[1][0]) . $matches[2][0] . ucfirst($matches[3][0]);
return $var;
}
?>
Het probleem is dat ik me zit te vergapen aan de var die ik nodig heb om
de functie te kunnen gebruiken.
Als ik de functie gebruikt werkt ie nl niet.
Wat is de waarde van $word_caps ?
1
function upper_lower($var)
{
$var = $input_var;
preg_match_all("/^([aA-zZ]+)(\s|\-+)([aA-zZ]+)/", $var, $matches);
print_r($matches);
$words_caps = ucfirst($matches[1][0]) . $matches[2][0] . ucfirst($matches[3][0]);
print $words_caps;
}
function upper_lowerold($var)
{
$var =
preg_match_all("/^([aA-zZ]+)(\s|\-+)([aA-zZ]+)/", $var, $matches);
echo $var;
$words_caps = ucfirst($matches[1][0]) . $matches[2][0] . ucfirst($matches[3][0]);
return $var;
}
Wie weet een oplossing om meer dan 2 woorden te kunnen gebruiken?
Waarom doe je dat? $var = $word_caps? Is niet logisch want in de regel function upper_lower($var) krijgt $var al een waarde die jij dan direct vervangt door iets anders. Dus je kan net zo goed aanroepen met upper_lower(1) als $word_caps=1.
termaat:
Gevonden!
function upper_lowerold($var)
{
$var =
preg_match_all("/^([aA-zZ]+)(\s|\-+)([aA-zZ]+)/", $var, $matches);
echo $var;
$words_caps = ucfirst($matches[1][0]) . $matches[2][0] . ucfirst($matches[3][0]);
return $var;
}
Wie weet een oplossing om meer dan 2 woorden te kunnen gebruiken?
function upper_lowerold($var)
{
$var =
preg_match_all("/^([aA-zZ]+)(\s|\-+)([aA-zZ]+)/", $var, $matches);
echo $var;
$words_caps = ucfirst($matches[1][0]) . $matches[2][0] . ucfirst($matches[3][0]);
return $var;
}
Wie weet een oplossing om meer dan 2 woorden te kunnen gebruiken?
Dit kan nooit goed zijn want deze regel $words_caps = ucfirst($matches[1][0]) . $matches[2][0] . ucfirst($matches[3][0]); staat er nu voor niets omdat je $var returned