PHPackages                             simon-barton/seo-url - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. simon-barton/seo-url

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

simon-barton/seo-url
====================

Module converts any string to valid URL

01351PHP

Since Sep 26Pushed 11y ago1 watchersCompare

[ Source](https://github.com/simon-barton/SeoUrl)[ Packagist](https://packagist.org/packages/simon-barton/seo-url)[ RSS](/packages/simon-barton-seo-url/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependenciesVersions (1)Used By (0)

SeoUrl
======

[](#seourl)

Simple ZF2 SEO Url generator. Module converts strings to valid Urls. For example: `I'm starting a new project – which version of Zend Framework should I use?` will be converted to `im-starting-a-new-project-which-version-of-zend-framework-should-i-use`. SEO Url Module works also with non latin characters.

For string convertation I'm using part of CodeIgniter's helper [url\_title()](http://ellislab.com/codeigniter/user-guide/helpers/url_helper.html "CodeIgniter - Url helper").

Installation
------------

[](#installation)

For the installation uses composer [composer](http://getcomposer.org "composer - package manager"). Add this project in your composer.json:

```
"require": {
    "cyrkulewski/seo-url": "dev-master"
}

```

Post Installation
-----------------

[](#post-installation)

Configuration:

- Add the module of `config/application.config.php` under the array `modules`, insert `SeoUrl`.
- Copy a file named `seourl.global.php.dist` to `config/autoload/` and change name to `seourl.global.php`.
- Modify config to fit your expectations.

Examples
========

[](#examples)

Default use of SEO Url
----------------------

[](#default-use-of-seo-url)

```
$slug = $this->getServiceLocator()->get('SeoUrl\Slug');
echo $slug->create("I'm starting a new project – which version of Zend Framework should I use?");
```

Advanced use of SEO Url
-----------------------

[](#advanced-use-of-seo-url)

By default SEO Url use parameters defined in `config/autoload/seourl.global.php`. But one might need to use different setup in different places around the code. In this case one can overwrite default confid parameters.

```
$slug = $this->getServiceLocator()->get('SeoUrl\Slug');
$slug->setMinLength(10);
$slug->setMaxLength(100);
$slug->setSeparator('_');
$slug->setStringEncoding('UTF-16');
$slug->setForeignChars(array('/я/' => 'ja'));
echo $slug->create("I'm starting a new project – which version of Zend Framework should I use?");
```

Contributors
============

[](#contributors)

Aleksander Cyrkulewski -

###  Health Score

22

—

LowBetter than 22% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity11

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity41

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 57.9% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

### Community

Maintainers

![](https://www.gravatar.com/avatar/6cd83d6b6c035e0082e898195d02aa9fb561d10be79e5a6946b8815be8bc33f8?d=identicon)[semihs](/maintainers/semihs)

---

Top Contributors

[![martyshka](https://avatars.githubusercontent.com/u/1006739?v=4)](https://github.com/martyshka "martyshka (11 commits)")[![al3xdm](https://avatars.githubusercontent.com/u/602341?v=4)](https://github.com/al3xdm "al3xdm (8 commits)")

### Embed Badge

![Health badge](/badges/simon-barton-seo-url/health.svg)

```
[![Health](https://phpackages.com/badges/simon-barton-seo-url/health.svg)](https://phpackages.com/packages/simon-barton-seo-url)
```

###  Alternatives

[ivanovsaleksejs/num-to-text

Converts numbers or prices to text representation in various languages. For example, 437605 becomes "four hundred thirty seven thousand six hundred five". Price class for displaying prices with currencies is also available.

2015.9k](/packages/ivanovsaleksejs-num-to-text)[vildanbina/composer-upgrader

Effortlessly upgrade all Composer dependencies to their latest versions with a single command.

364.7k1](/packages/vildanbina-composer-upgrader)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
