is115-php/modul2/index2_3.php

57 lines
1.9 KiB
PHP

<?php include '../common.php'; ?><!DOCTYPE html>
<html lang="no">
<head>
<title><?=title();?></title>
<link rel="stylesheet" href="../index.css">
</head>
<body>
<div class="container">
<h1><?=title();?></h1>
<h4><?=getNavigation();?></h4>
<h2>Finn (antall) ord</h2>
<?php
// Insatt setning eller standard-setningen.
$setning = $_POST['setning'] ?? 'Thereses familie skulle ha ris til middag. Hun ville heller ha en is å spise.';
//** Hvor mange ganger 'is' er i setningen **//
$ganger = substr_count($setning, 'is');
//** Hvor mange ganger ordet 'is' finnes i setningen **//
// REGEXP pattern: - det brukes for å enkelt finne ut hvor mange ganger bokstavene is omringet av 'whitespace' er i $setning.
$re = '/(?:^|\s)is(?:\s|$)/mi';
// Resultatene puttes i en array $resultater.
preg_match_all($re, $setning, $resultater, PREG_SET_ORDER, 0);
// Tell hvor mange resultater som REGEXP-en finner.
$gangerOrd = count($resultater);
// Hvis det kun er én match skrives tekstene grammatisk riktig.
$gangerStr = $ganger." ganger";
if($ganger == 1){
$gangerStr = $ganger." gang";
}
$gangerOrdStr = $gangerOrd." ganger";
if($gangerOrd == 1){
$gangerOrdStr = $gangerOrd." gang";
}
?>
<p>Funksjonen <code>substr_count</code> teller hvor mange ganger en setnings-del er i en setning.</p>
<p>Eventuelt ved bruk av REGEXP er det ganske greit å finne ut hvor mange ganger et ORD finnes i en setning.</p>
<form action="index2_3.php" method="POST">
<p>
<textarea name="setning" style="width: 300px; height: 150px; font-size: 14px;"><?=$setning;?></textarea><br>
<input type="submit" value="Tell antall 'is'...">
</p>
</form>
<p>Setningen har "is" <?=$gangerStr;?></p>
<p>Setningen har ordet "is" <?=$gangerOrdStr;?></p>
</div>
</body>
</html>